Skip to content

Divergência do valor dos enuns com a documentação nacional #27

Description

@fsbflavio

Describe the bug
Os enuns RegimeApuracao e OptanteSimplesNacional, por exemplo, divergem da documentação nacional causando confusão ao mapear os tipos próprios para o componente.

Por exemplo:
O enum OptanteSimplesNacional, embora tenha o annotation [DFeEnum("1")] para não optante, o valor do enum é 0.
Ou seja, quando passo meu tipo baseado no nacional de 1 (não optante), o componente recebe (optante Mei).

var resultado = (OptanteSimplesNacional)MeuTipo.OpSimpNac //resultado conversão válida, mas mapeamento incorreto.

Claro, posso lidar com isso, subtraindo 1, ou fazendo o parse do annotation, mas fica um ponto frágil de engano.

Expected behavior
Com base no tipo RegimeEspecial, parece ser o melhor manter o valor do enum igual à documentação nacional:

//OpenAC.Net.NFSe.Nacional.Common.Types
public enum OptanteSimplesNacional
{
    /// <summary>
    /// Não optante pelo Simples Nacional.
    /// </summary>
    [DFeEnum("1")]
    NaoOptante = 1, //fazer iniciar em 1 conforme documentação nacional.
    
....
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions