orochasamuel / fiscalbr-net

Para facilitar seu dia a dia como desenvolvedor \o/
MIT License
91 stars 48 forks source link

Criar enum de versão para cada tipo de arquivo SPED (EFD Contribuições, EFD Fiscal, ECD, etc) #104

Closed orochasamuel closed 1 year ago

orochasamuel commented 1 year ago

Criar enum separado de versão para cada tipo de arquivo, usar um único enum como é feito atualmente tornará inviável a nova implementação de escrita e leitura.

EFD Contribuições

Image

EFD Fiscal

Image

ECD

image

ECF

image

orochasamuel commented 1 year ago

Enums criados. o/


    public enum CodVersaoSpedECD
    {
        /// <summary>
        /// Até o Ano-Calendário 2012
        /// </summary>
        [DefaultValue("0001")] V1 = 1,

        /// <summary>
        /// Ano-Calendário 2013
        /// </summary>
        [DefaultValue("0002")] V2,

        /// <summary>
        /// Ano-Calendário 2014
        /// </summary>
        [DefaultValue("0003")] V3,

        /// <summary>
        /// Ano-Calendário 2015
        /// </summary>
        [DefaultValue("0004")] V4,

        /// <summary>
        /// Ano-Calendário 2016
        /// </summary>
        [DefaultValue("0005")] V5,

        /// <summary>
        /// Ano-Calendário 2017
        /// </summary>
        [DefaultValue("0006")] V6,

        /// <summary>
        /// Ano-Calendário 2018
        /// </summary>
        [DefaultValue("0007")] V7,

        /// <summary>
        /// Ano-Calendário 2019
        /// </summary>
        [DefaultValue("0008")] V8,

        /// <summary>
        /// Ano-Calendário 2020, 2021 e 2022
        /// </summary>
        [DefaultValue("0009")] V9,
    }

    public enum CodVersaoSpedECF
    {
        /// <summary>
        /// Ano-Calendário 2014 e Situações Especiais de 2015
        /// </summary>
        [DefaultValue("0001")] V1 = 1,

        /// <summary>
        /// Ano-Calendário 2015 e Situações Especiais de 2016
        /// </summary>
        [DefaultValue("0002")] V2,

        /// <summary>
        /// Ano-Calendário 2016 e Situações Especiais de 2017
        /// </summary>
        [DefaultValue("0003")] V3,

        /// <summary>
        /// Ano-Calendário 2017 e Situações Especiais de 2018
        /// </summary>
        [DefaultValue("0004")] V4,

        /// <summary>
        /// Ano-Calendário 2018 e Situações Especiais de 2019
        /// </summary>
        [DefaultValue("0005")] V5,

        /// <summary>
        /// Ano-Calendário 2019 e Situações Especiais de 2020
        /// </summary>
        [DefaultValue("0006")] V6,

        /// <summary>
        /// Ano-Calendário 2020 e Situações Especiais de 2021
        /// </summary>
        [DefaultValue("0007")] V7,

        /// <summary>
        /// Ano-Calendário 2021 e Situações Especiais de 2022
        /// </summary>
        [DefaultValue("0008")] V8,

        /// <summary>
        /// Ano-Calendário 2022 e Situações Especiais de 2023
        /// </summary>
        [DefaultValue("0009")] V9,
    }

    public enum CodVersaoSpedContrib
    {
        /// <summary>
        /// Código: 001
        /// Versão: 1.00
        /// Validade: 01/04/2011 - 30/06/2012
        /// </summary>
        [DefaultValue("001")] V1 = 1,

        /// <summary>
        /// Código: 002
        /// Versão: 2.00
        /// Validade: 01/04/2011 - 30/06/2012
        /// </summary>
        [DefaultValue("002")] V2,

        /// <summary>
        /// Código: 003
        /// Versão: 2.01A
        /// Validade: 01/07/2012 - 31/05/2018
        /// </summary>
        [DefaultValue("003")] V3,

        /// <summary>
        /// Código: 004
        /// Versão: 3.0.0
        /// Validade: 01/06/2018 - 31/12/2018
        /// </summary>
        [DefaultValue("004")] V4,

        /// <summary>
        /// Código: 005
        /// Versão: 3.1.0
        /// Validade: 01/01/2019 - 31/12/2019
        /// </summary>
        [DefaultValue("005")] V5,

        /// <summary>
        /// Código: 006
        /// Versão: 3.2.0
        /// Validade: 01/01/2020 - 31/12/20??
        /// </summary>
        [DefaultValue("006")] V6,
    }

    public enum CodVersaoSpedFiscal
    {
        /// <summary>
        /// Código: 002
        /// Versão: 1.01
        /// Validade: 01/01/2009 - 31/12/2009
        /// </summary>
        [DefaultValue("002")] V2 = 2,

        /// <summary>
        /// Código: 003
        /// Versão: 1.02
        /// Validade: 01/01/2010 - 31/12/2010
        /// </summary>
        [DefaultValue("003")] V3,

        /// <summary>
        /// Código: 004
        /// Versão: 1.03
        /// Validade: 01/01/2011 - 31/12/2011
        /// </summary>
        [DefaultValue("004")] V4,

        /// <summary>
        /// Código: 005
        /// Versão: 1.04
        /// Validade: 01/01/2012 - 30/06/2012
        /// </summary>
        [DefaultValue("005")] V5,

        /// <summary>
        /// Código: 006
        /// Versão: 1.05
        /// Validade: 01/07/2012 - 31/12/2012
        /// </summary>
        [DefaultValue("006")] V6,

        /// <summary>
        /// Código: 007
        /// Versão: 1.06
        /// Validade: 01/01/2013 - 31/12/2013
        /// </summary>
        [DefaultValue("007")] V7,

        /// <summary>
        /// Código: 008
        /// Versão: 1.07
        /// Validade: 01/01/2014 - 31/12/2014
        /// </summary>
        [DefaultValue("008")] V8,

        /// <summary>
        /// Código: 009
        /// Versão: 1.08
        /// Validade: 01/01/2015 - 31/12/2015
        /// </summary>
        [DefaultValue("009")] V9,

        /// <summary>
        /// Código: 010
        /// Versão: 1.09
        /// Validade: 01/01/2016 - 31/12/2016
        /// </summary>
        [DefaultValue("010")] V10,

        /// <summary>
        /// Código: 011
        /// Versão: 1.10
        /// Validade: 01/01/2017 - 31/12/2017
        /// </summary>
        [DefaultValue("011")] V11,

        /// <summary>
        /// Código: 012
        /// Versão: 1.11
        /// Validade: 01/01/2018 - 31/12/2018
        /// </summary>
        [DefaultValue("012")] V12,

        /// <summary>
        /// Código: 013
        /// Versão: 1.12
        /// Validade: 01/01/2019 - 31/12/2019
        /// </summary>
        [DefaultValue("013")] V13,

        /// <summary>
        /// Código: 014
        /// Versão: 1.13
        /// Validade: 01/01/2020 - 31/12/2020
        /// </summary>
        [DefaultValue("014")] V14,

        /// <summary>
        /// Código: 015
        /// Versão: 1.14
        /// Validade: 01/01/2021 - 31/12/2021
        /// </summary>
        [DefaultValue("015")] V15,

        /// <summary>
        /// Código: 016
        /// Versão: 1.15
        /// Validade: 01/01/2022 - 31/12/2022
        /// </summary>
        [DefaultValue("016")] V16,

        /// <summary>
        /// Código: 017
        /// Versão: 1.16
        /// Validade: 01/01/2023 - 31/12/2023
        /// </summary>
        [DefaultValue("017")] V17,
    }