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

GerarIdeNFref() public method

GerarIdeNFref
public GerarIdeNFref ( NFe Nfe, XmlElement ELide ) : void
Nfe NFe
ELide System.Xml.XmlElement
return void
        void GerarIdeNFref(NFe Nfe, XmlElement ELide)
        {

            // Gera TAGs referentes a NFe referência
            foreach (NFref refNFe in Nfe.ide.NFref)
            {
                if (!string.IsNullOrEmpty(refNFe.refNFe))
                {
                    XmlElement ep = doc.CreateElement(TpcnResources.NFref.ToString());
                    XmlElement el = doc.CreateElement(TpcnResources.refNFe.ToString());
                    el.InnerText = refNFe.refNFe;
                    ep.AppendChild(el);
                    ELide.AppendChild(ep);
                }
            }
            // Gera TAGs se NÃO for uma NFe referência
            foreach (NFref refNFe in Nfe.ide.NFref)
            {
                if (refNFe.refNF != null)
                {
                    if (refNFe.refNF.nNF > 0)
                    {
                        XmlElement ep = doc.CreateElement(TpcnResources.NFref.ToString());
                        XmlElement el = doc.CreateElement("refNF");
                        ep.AppendChild(el);
                        ELide.AppendChild(ep);
                        nodeCurrent = el;

                        wCampo(refNFe.refNF.cUF, TpcnTipoCampo.tcInt, TpcnResources.cUF, ObOp.Obrigatorio, 2);
                        wCampo(refNFe.refNF.AAMM, TpcnTipoCampo.tcStr, TpcnResources.AAMM, ObOp.Obrigatorio, 0);
                        wCampo(refNFe.refNF.CNPJ, TpcnTipoCampo.tcStr, TpcnResources.CNPJ, ObOp.Obrigatorio, 0);
                        wCampo(refNFe.refNF.mod, TpcnTipoCampo.tcStr, TpcnResources.mod, ObOp.Obrigatorio, 2);
                        wCampo(refNFe.refNF.serie, TpcnTipoCampo.tcInt, TpcnResources.serie, ObOp.Obrigatorio, 0);
                        wCampo(refNFe.refNF.nNF, TpcnTipoCampo.tcInt, TpcnResources.nNF, ObOp.Obrigatorio, 0);
                    }
                }
            }
            foreach (NFref refNFe in Nfe.ide.NFref)
            {
                if (refNFe.refNFP != null)
                {
                    if (refNFe.refNFP.nNF > 0)
                    {
                        XmlElement ep = doc.CreateElement(TpcnResources.NFref.ToString());
                        XmlElement el = doc.CreateElement("refNFP");
                        ep.AppendChild(el);
                        ELide.AppendChild(ep);
                        nodeCurrent = el;

                        wCampo(refNFe.refNFP.cUF, TpcnTipoCampo.tcInt, TpcnResources.cUF, ObOp.Obrigatorio, 2);
                        wCampo(refNFe.refNFP.AAMM, TpcnTipoCampo.tcStr, TpcnResources.AAMM, ObOp.Obrigatorio, 0);
                        if (!string.IsNullOrEmpty(refNFe.refNFP.CNPJ))
                            wCampo(refNFe.refNFP.CNPJ, TpcnTipoCampo.tcStr, TpcnResources.CNPJ, ObOp.Obrigatorio, 0);
                        else
                            if (!string.IsNullOrEmpty(refNFe.refNFP.CPF))
                                wCampo(refNFe.refNFP.CPF, TpcnTipoCampo.tcStr, TpcnResources.CPF, ObOp.Obrigatorio, 0);
                        wCampo(refNFe.refNFP.IE, TpcnTipoCampo.tcStr, TpcnResources.IE, ObOp.Opcional, 0);
                        wCampo(refNFe.refNFP.mod, TpcnTipoCampo.tcStr, TpcnResources.mod, ObOp.Obrigatorio, 2);
                        wCampo(refNFe.refNFP.serie, TpcnTipoCampo.tcInt, TpcnResources.serie, ObOp.Obrigatorio, 0);
                        wCampo(refNFe.refNFP.nNF, TpcnTipoCampo.tcInt, TpcnResources.nNF, ObOp.Obrigatorio, 0);
                    }
                }
            }
            foreach (NFref refNFe in Nfe.ide.NFref)
            {
                if (!string.IsNullOrEmpty(refNFe.refCTe))
                {
                    if (refNFe.refCTe.Substring(0, 2) != "00")
                    {
                        XmlElement ep = doc.CreateElement(TpcnResources.NFref.ToString());
                        XmlElement el = doc.CreateElement(TpcnResources.refCTe.ToString());
                        el.InnerText = refNFe.refCTe;
                        ep.AppendChild(el);
                        ELide.AppendChild(ep);
                    }
                }
            }
            foreach (NFref refNFe in Nfe.ide.NFref)
            {
                if (refNFe.refECF != null)
                {
                    if (refNFe.refECF.nCOO > 0)
                    {
                        XmlElement ep = doc.CreateElement(TpcnResources.NFref.ToString());
                        XmlElement el = doc.CreateElement("refECF");
                        ep.AppendChild(el);
                        ELide.AppendChild(ep);
                        nodeCurrent = el;

                        wCampo(refNFe.refECF.mod, TpcnTipoCampo.tcStr, TpcnResources.mod, ObOp.Obrigatorio);
                        wCampo(refNFe.refECF.nECF, TpcnTipoCampo.tcInt, TpcnResources.nECF, ObOp.Obrigatorio, 3);
                        wCampo(refNFe.refECF.nCOO, TpcnTipoCampo.tcInt, TpcnResources.nCOO, ObOp.Obrigatorio);
                    }
                }
            }
        }