NFe.ConvertTxt.NFeW.GerarEmit C# (CSharp) Method

GerarEmit() private method

GerarEmit
private GerarEmit ( NFe NFe ) : XmlElement
NFe NFe
return System.Xml.XmlElement
        private XmlElement GerarEmit(NFe NFe)
        {
            XmlElement ELemit = doc.CreateElement("emit");
            nodeCurrent = ELemit;

            if (string.IsNullOrEmpty(NFe.emit.CNPJ) && string.IsNullOrEmpty(NFe.emit.CPF))
                throw new Exception("CNPJ/CPF inválido no segmento [C]");

            if (!string.IsNullOrEmpty(NFe.emit.CNPJ))
                wCampo(NFe.emit.CNPJ, TpcnTipoCampo.tcStr, TpcnResources.CNPJ);
            else
                wCampo(NFe.emit.CPF, TpcnTipoCampo.tcStr, TpcnResources.CPF);
            wCampo(NFe.emit.xNome, TpcnTipoCampo.tcStr, TpcnResources.xNome);
            wCampo(NFe.emit.xFant, TpcnTipoCampo.tcStr, TpcnResources.xFant, ObOp.Opcional);
            ///
            /// <enderEmit>
            /// 
            XmlElement el = doc.CreateElement("enderEmit");
            nodeCurrent.AppendChild(el);
            nodeCurrent = el;
            wCampo(NFe.emit.enderEmit.xLgr, TpcnTipoCampo.tcStr, TpcnResources.xLgr);
            wCampo(NFe.emit.enderEmit.nro, TpcnTipoCampo.tcStr, TpcnResources.nro);
            wCampo(NFe.emit.enderEmit.xCpl, TpcnTipoCampo.tcStr, TpcnResources.xCpl, ObOp.Opcional);
            wCampo(NFe.emit.enderEmit.xBairro, TpcnTipoCampo.tcStr, TpcnResources.xBairro);
            wCampo(NFe.emit.enderEmit.cMun, TpcnTipoCampo.tcInt, TpcnResources.cMun, ObOp.Obrigatorio, 7);
            wCampo(NFe.emit.enderEmit.xMun, TpcnTipoCampo.tcStr, TpcnResources.xMun);
            wCampo(NFe.emit.enderEmit.UF, TpcnTipoCampo.tcStr, TpcnResources.UF);
            wCampo(NFe.emit.enderEmit.CEP, TpcnTipoCampo.tcInt, TpcnResources.CEP, ObOp.Opcional, 8);
            wCampo(NFe.emit.enderEmit.cPais, TpcnTipoCampo.tcInt, TpcnResources.cPais, ObOp.Opcional);
            wCampo(NFe.emit.enderEmit.xPais, TpcnTipoCampo.tcStr, TpcnResources.xPais, ObOp.Opcional);
            wCampo(NFe.emit.enderEmit.fone, TpcnTipoCampo.tcStr, TpcnResources.fone, ObOp.Opcional);
            ///
            /// </enderEmit>
            /// 
            nodeCurrent = ELemit;
            wCampo(NFe.emit.IE, TpcnTipoCampo.tcStr, TpcnResources.IE);
            wCampo(NFe.emit.IEST, TpcnTipoCampo.tcStr, TpcnResources.IEST, ObOp.Opcional);
            wCampo(NFe.emit.IM, TpcnTipoCampo.tcStr, TpcnResources.IM, ObOp.Opcional);
            if (NFe.emit.IM.Length > 0)
                wCampo(NFe.emit.CNAE, TpcnTipoCampo.tcStr, TpcnResources.CNAE, ObOp.Opcional);
            wCampo(NFe.emit.CRT, TpcnTipoCampo.tcInt, TpcnResources.CRT);

            return ELemit;
        }