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

GerarDetImposto() private method

GerarDetImposto
private GerarDetImposto ( NFe nfe, Imposto imposto, XmlElement root ) : void
nfe NFe
imposto Imposto
root System.Xml.XmlElement
return void
        private void GerarDetImposto(NFe nfe, Imposto imposto, XmlElement root)
        {
            XmlElement nodeImposto = doc.CreateElement("imposto");
            root.AppendChild(nodeImposto);

            nodeCurrent = nodeImposto;
            wCampo(imposto.vTotTrib, TpcnTipoCampo.tcDec2, TpcnResources.vTotTrib, ObOp.Opcional);

            if ((double)nfe.infNFe.Versao < 3.10)
            {
                if (!string.IsNullOrEmpty(imposto.ISSQN.cSitTrib))
                {
                    GerarDetImpostoISSQN(nfe, imposto, nodeImposto);
                }
                else
                {
                    GerarDetImpostoICMS(nfe, imposto, nodeImposto);
                    GerarDetImpostoIPI(nfe, imposto.IPI, nodeImposto);
                    if (nfe.det[0].Prod.DI.Count > 0)
                        GerarDetImpostoII(imposto.II, nodeImposto);
                }
            }
            else
            {
                GerarDetImpostoICMS(nfe, imposto, nodeImposto);
                GerarDetImpostoIPI(nfe, imposto.IPI, nodeImposto);
                if (nfe.det[0].Prod.DI.Count > 0)
                    GerarDetImpostoII(imposto.II, nodeImposto);
                GerarDetImpostoISSQN(nfe, imposto, nodeImposto);
            }
            GerarDetImpostoPIS(nfe, imposto.PIS, nodeImposto);
            GerarDetImpostoPISST(nfe, imposto.PISST, nodeImposto);
            GerarDetImpostoCOFINS(nfe, imposto.COFINS, nodeImposto);
            GerarDetImpostoCOFINSST(nfe, imposto.COFINSST, nodeImposto);
        }