diff --git a/NFe.Classes/Informacoes/Agropecuario/agroTipos.cs b/NFe.Classes/Informacoes/Agropecuario/agroTipos.cs new file mode 100644 index 00000000..afd67fca --- /dev/null +++ b/NFe.Classes/Informacoes/Agropecuario/agroTipos.cs @@ -0,0 +1,67 @@ +using System.ComponentModel; +using System.Xml.Serialization; + +namespace NFe.Classes.Informacoes.Agropecuario +{ + /// + /// Tipo da Guia + /// 1 - GTA - Guia de Trânsito Animal + /// 2 - TTA - Termo de Trânsito Animal + /// 3 - DTA - Documento de Transferência Animal + /// 4 - ATV - Autorização de Trânsito Vegetal + /// 5 - PTV - Permissão de Trânsito Vegetal + /// 6 - GTV - Guia de Trânsito Vegetal + /// 7 - Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG) + /// + public enum TipoGuia + { + /// + /// 1 - GTA - Guia de Trânsito Animal + /// + [Description("GTA - Guia de Trânsito Animal")] + [XmlEnum("1")] + GTA = 1, + + /// + /// 2 - TTA - Termo de Trânsito Animal + /// + [Description("TTA - Termo de Trânsito Animal")] + [XmlEnum("2")] + TTA = 2, + + /// + /// 3 - DTA - Documento de Transferência Animal + /// + [Description("DTA - Documento de Transferência Animal")] + [XmlEnum("3")] + DTA = 3, + + /// + /// 4 - ATV - Autorização de Trânsito Vegetal + /// + [Description("ATV - Autorização de Trânsito Vegetal")] + [XmlEnum("4")] + ATV = 4, + + /// + /// 5 - PTV - Permissão de Trânsito Vegetal + /// + [Description("PTV - Permissão de Trânsito Vegetal")] + [XmlEnum("5")] + PTV = 5, + + /// + /// 6 - GTV - Guia de Trânsito Vegetal + /// + [Description("GTV - Guia de Trânsito Vegetal")] + [XmlEnum("6")] + GTV = 6, + + /// + /// 7 - Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG) + /// + [Description("Guia Florestal (DOF, SisFlora - PA e MT ou SIAM - MG)")] + [XmlEnum("7")] + GuiaFlorestal = 7, + } +} diff --git a/NFe.Classes/Informacoes/Agropecuario/agropecuario.cs b/NFe.Classes/Informacoes/Agropecuario/agropecuario.cs new file mode 100644 index 00000000..5f42f59c --- /dev/null +++ b/NFe.Classes/Informacoes/Agropecuario/agropecuario.cs @@ -0,0 +1,37 @@ +namespace NFe.Classes.Informacoes.Agropecuario +{ + public class agropecuario + { +#if NET5_0_OR_GREATER//o uso de tipos de referência anuláveis não é permitido até o C# 8.0. + + /// + /// ZF02 - serieGuia + /// + public defensivo? defensivo { get; set; } + + /// + /// ZF04 - Guia de Trânsito + /// + public guiaTransito? guiaTransito { get; set; } + + public bool ShouldSerializedefensivo() + { + return defensivo != null; + } + public bool ShouldSerializeguiaTransito() + { + return guiaTransito != null; + } +#else + /// + /// ZF02 - serieGuia + /// + public defensivo defensivo { get; set; } + + /// + /// ZF04 - Guia de Trânsito + /// + public guiaTransito guiaTransito { get; set; } +#endif + } +} diff --git a/NFe.Classes/Informacoes/Agropecuario/defensivo.cs b/NFe.Classes/Informacoes/Agropecuario/defensivo.cs new file mode 100644 index 00000000..eb647029 --- /dev/null +++ b/NFe.Classes/Informacoes/Agropecuario/defensivo.cs @@ -0,0 +1,15 @@ +namespace NFe.Classes.Informacoes.Agropecuario +{ + public class defensivo + { + /// + /// ZF03 - Número da receita ou receituário do agrotóxico / defensivo agrícola + /// + public string nReceituario { get; set; } + + /// + /// ZP03a - CPF do Responsável Técnico, emitente do receituário + /// + public string CPFRespTec { get; set; } + } +} diff --git a/NFe.Classes/Informacoes/Agropecuario/guiaTransito.cs b/NFe.Classes/Informacoes/Agropecuario/guiaTransito.cs new file mode 100644 index 00000000..0f641e07 --- /dev/null +++ b/NFe.Classes/Informacoes/Agropecuario/guiaTransito.cs @@ -0,0 +1,56 @@ +namespace NFe.Classes.Informacoes.Agropecuario +{ + public class guiaTransito + { +#if NET5_0_OR_GREATER//o uso de tipos de referência anuláveis não é permitido até o C# 8.0. + /// + /// ZF05 - Tipo da Guia + /// + public TipoGuia tpGuia { get; set; } + + /// + /// ZF06 - UF de emissão + /// + public string? UFGuia { get; set; } + + /// + /// ZF07 - Série da Guia + /// + public string? serieGuia { get; set; } + + /// + /// ZF08 - Número da Guia + /// + public string nGuia { get; set; } + + public bool ShouldSerializeUFGuia() + { + return UFGuia != null; + } + public bool ShouldSerializeserieGuia() + { + return serieGuia != null; + } +#else + /// + /// ZF05 - Tipo da Guia + /// + public TipoGuia tpGuia { get; set; } + + /// + /// ZF06 - UF de emissão + /// + public string UFGuia { get; set; } + + /// + /// ZF07 - Série da Guia + /// + public string serieGuia { get; set; } + + /// + /// ZF08 - Número da Guia + /// + public string nGuia { get; set; } +#endif + } +} \ No newline at end of file diff --git a/NFe.Classes/Informacoes/infNFe.cs b/NFe.Classes/Informacoes/infNFe.cs index fbd335aa..c97441af 100644 --- a/NFe.Classes/Informacoes/infNFe.cs +++ b/NFe.Classes/Informacoes/infNFe.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Xml.Serialization; +using NFe.Classes.Informacoes.Agropecuario; using NFe.Classes.Informacoes.Cana; using NFe.Classes.Informacoes.Cobranca; using NFe.Classes.Informacoes.Destinatario; @@ -126,6 +127,14 @@ public infNFe() /// public cana cana { get; set; } + /// + /// ZD01 - Grupo do Responsável Técnico + /// public infRespTec infRespTec { get; set; } + + /// + /// ZF01 - Grupo de produtos da agricultura, pecuária e produção Florestal + /// + public agropecuario agropecuario { get; set; } } } \ No newline at end of file