Skip to content

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

@fsbflavio

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions