<?php

namespace App\Enums;

enum EducationCurriculo: int
{
    case FUNDAMENTAL_INCOMPLETO = 1;
    case FUNDAMENTAL_CURSANDO = 2;
    case FUNDAMENTAL_COMPLETO = 3;
    case MEDIO_INCOMPLETO = 4;
    case MEDIO_CURSANDO = 5;
    case MEDIO_COMPLETO = 6;
    case MEDIO_TECNICO_INCOMPLETO = 7;
    case MEDIO_TECNICO_CURSANDO = 8;
    case MEDIO_TECNICO_COMPLETO = 9;
    case SUPERIOR_INCOMPLETO = 10;
    case SUPERIOR_CURSANDO = 11;
    case SUPERIOR_COMPLETO = 12;
    case POS_INCOMPLETA = 13;
    case POS_CURSANDO = 14;
    case POS_COMPLETA = 15;
    case MESTRADO_INCOMPLETO = 16;
    case MESTRADO_CURSANDO = 17;
    case MESTRADO_COMPLETO = 18;
    case DOUTORADO_INCOMPLETO = 19;
    case DOUTORADO_CURSANDO = 20;
    case DOUTORADO_COMPLETO = 21;

    public function label(): string
    {
        return match ($this) {
            self::FUNDAMENTAL_INCOMPLETO => 'Ensino Fundamental incompleto',
            self::FUNDAMENTAL_CURSANDO => 'Ensino Fundamental cursando',
            self::FUNDAMENTAL_COMPLETO => 'Ensino Fundamental completo',
            self::MEDIO_INCOMPLETO => 'Ensino Médio incompleto',
            self::MEDIO_CURSANDO => 'Ensino Médio cursando',
            self::MEDIO_COMPLETO => 'Ensino Médio completo',
            self::MEDIO_TECNICO_INCOMPLETO => 'Ensino Médio Técnico incompleto',
            self::MEDIO_TECNICO_CURSANDO => 'Ensino Médio Técnico cursando',
            self::MEDIO_TECNICO_COMPLETO => 'Ensino Médio Técnico completo',
            self::SUPERIOR_INCOMPLETO => 'Superior incompleto',
            self::SUPERIOR_CURSANDO => 'Superior cursando',
            self::SUPERIOR_COMPLETO => 'Superior completo',
            self::POS_INCOMPLETA => 'Pós-graduação incompleta',
            self::POS_CURSANDO => 'Pós-graduação cursando',
            self::POS_COMPLETA => 'Pós-graduação completa',
            self::MESTRADO_INCOMPLETO => 'Mestrado incompleto',
            self::MESTRADO_CURSANDO => 'Mestrado cursando',
            self::MESTRADO_COMPLETO => 'Mestrado completo',
            self::DOUTORADO_INCOMPLETO => 'Doutorado incompleto',
            self::DOUTORADO_CURSANDO => 'Doutorado cursando',
            self::DOUTORADO_COMPLETO => 'Doutorado completo',
        };
    }

    public static function options(): array
    {
        return [
            self::FUNDAMENTAL_INCOMPLETO->value => 'Ensino Fundamental incompleto',
            self::FUNDAMENTAL_CURSANDO->value => 'Ensino Fundamental cursando',
            self::FUNDAMENTAL_COMPLETO->value => 'Ensino Fundamental completo',
            self::MEDIO_INCOMPLETO->value => 'Ensino Médio incompleto',
            self::MEDIO_CURSANDO->value => 'Ensino Médio cursando',
            self::MEDIO_COMPLETO->value => 'Ensino Médio completo',
            self::MEDIO_TECNICO_INCOMPLETO->value => 'Ensino Médio Técnico incompleto',
            self::MEDIO_TECNICO_CURSANDO->value => 'Ensino Médio Técnico cursando',
            self::MEDIO_TECNICO_COMPLETO->value => 'Ensino Médio Técnico completo',
            self::SUPERIOR_INCOMPLETO->value => 'Superior incompleto',
            self::SUPERIOR_CURSANDO->value => 'Superior cursando',
            self::SUPERIOR_COMPLETO->value => 'Superior completo',
            self::POS_INCOMPLETA->value => 'Pós-graduação incompleta',
            self::POS_CURSANDO->value => 'Pós-graduação cursando',
            self::POS_COMPLETA->value => 'Pós-graduação completa',
            self::MESTRADO_INCOMPLETO->value => 'Mestrado incompleto',
            self::MESTRADO_CURSANDO->value => 'Mestrado cursando',
            self::MESTRADO_COMPLETO->value => 'Mestrado completo',
            self::DOUTORADO_INCOMPLETO->value => 'Doutorado incompleto',
            self::DOUTORADO_CURSANDO->value => 'Doutorado cursando',
            self::DOUTORADO_COMPLETO->value => 'Doutorado completo',
        ];
    }
}
