private void AddItem2(string line) { string[] dados = line.Split('|'); envCFeCFeInfCFeDet det = new envCFeCFeInfCFeDet(); det.prod = new envCFeCFeInfCFeDetProd(); //det.nItem = (CFe.infCFe.det.Length + 1).ToString(); det.prod.cProd = "001"; det.prod.xProd = "Pao de forma"; det.prod.CFOP = "0001"; //TODO Config det.prod.uCom = "kg"; det.prod.qCom = "1.0000"; det.prod.vUnCom = "1.000"; det.prod.indRegra = "A"; det.imposto = new envCFeCFeInfCFeDetImposto(); envCFeCFeInfCFeDetImpostoICMS icms = new envCFeCFeInfCFeDetImpostoICMS(); envCFeCFeInfCFeDetImpostoICMSICMS00 imp = new envCFeCFeInfCFeDetImpostoICMSICMS00(); imp.CST = "00"; imp.Orig = "0"; //TODO Config imp.pICMS = "1.00"; icms.Item = imp; det.imposto.Item = icms; envCFeCFeInfCFeDetImpostoPISPISAliq pis = new envCFeCFeInfCFeDetImpostoPISPISAliq(); pis.CST = "01"; pis.vBC = "1.00"; pis.pPIS = "1.000"; //TODO Config det.imposto.PIS = new envCFeCFeInfCFeDetImpostoPIS(); det.imposto.PIS.Item = pis; envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq cofinsAliq = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq(); cofinsAliq.CST = "01"; cofinsAliq.pCOFINS = "1.0000"; cofinsAliq.vBC = "1.00"; //envCFeCFeInfCFeDetImpostoCOFINSST confisst = new envCFeCFeInfCFeDetImpostoCOFINSST(); //confisst.vBC = "1.00"; //confisst.pCOFINS = "1.0000"; //confisst.Items det.imposto.COFINS = new envCFeCFeInfCFeDetImpostoCOFINS(); det.imposto.COFINS.Item = cofinsAliq; //det.imposto.COFINSST = new envCFeCFeInfCFeDetImpostoCOFINSST(); //det.imposto.COFINSST = confisst; det.nItem = (detList.Count + 1).ToString(); detList.Add(det); }
/// <summary> /// Grava valores de impostos nos produtos /// </summary> /// <typeparam name="T"></typeparam> /// <param name="childs"></param> /// <returns></returns> private T ImpostoProduto <T>(XmlNodeList childs) where T : new() { T result = new T(); foreach (XmlNode tag in childs) { switch (tag.Name) { #region ICMS00 case "ICMS00": envCFeCFeInfCFeDetImpostoICMSICMS00 ICMS00 = new envCFeCFeInfCFeDetImpostoICMSICMS00 { Orig = GetXML(tag.ChildNodes, "orig"), CST = GetXML(tag.ChildNodes, "CST"), pICMS = GetXML(tag.ChildNodes, "pICMS"), }; SetProperrty(result, "Item", ICMS00); break; #endregion ICMS00 #region ICMS40 case "ICMS40": case "ICMS41": case "ICMS50": case "ICMS60": envCFeCFeInfCFeDetImpostoICMSICMS40 ICMS40 = new envCFeCFeInfCFeDetImpostoICMSICMS40 { CST = GetXML(tag.ChildNodes, "CST"), Orig = GetXML(tag.ChildNodes, "orig"), }; SetProperrty(result, "Item", ICMS40); break; #endregion ICMS40 #region ICMSSN102 case "ICMSSN102": envCFeCFeInfCFeDetImpostoICMSICMSSN102 ICMSSN102 = new envCFeCFeInfCFeDetImpostoICMSICMSSN102 { CSOSN = GetXML(tag.ChildNodes, "CSOSN"), Orig = GetXML(tag.ChildNodes, "orig") }; SetProperrty(result, "Item", ICMSSN102); break; #endregion ICMSSN102 #region ICMSSN900 case "ICMSSN900": envCFeCFeInfCFeDetImpostoICMSICMSSN900 ICMSSN900 = new envCFeCFeInfCFeDetImpostoICMSICMSSN900 { CSOSN = GetXML(tag.ChildNodes, "CSOSN"), Orig = GetXML(tag.ChildNodes, "orig"), pICMS = GetXML(tag.ChildNodes, "pICMS") }; SetProperrty(result, "Item", ICMSSN900); break; #endregion ICMSSN900 #region PISAliq case "PISAliq": envCFeCFeInfCFeDetImpostoPISPISAliq PISAliq = new envCFeCFeInfCFeDetImpostoPISPISAliq { CST = GetXML(tag.ChildNodes, "CST"), pPIS = GetXML(tag.ChildNodes, "pPIS"), vBC = GetXML(tag.ChildNodes, "vBC"), }; SetProperrty(result, "Item", PISAliq); break; #endregion PISAliq #region PISNT case "PISNT": envCFeCFeInfCFeDetImpostoPISPISNT PISPISNT = new envCFeCFeInfCFeDetImpostoPISPISNT { CST = GetXML(tag.ChildNodes, "CST") }; SetProperrty(result, "Item", PISPISNT); break; #endregion PISNT #region PISOutr case "PISOutr": envCFeCFeInfCFeDetImpostoPISPISOutr PISOutr = new envCFeCFeInfCFeDetImpostoPISPISOutr { CST = GetXML(tag.ChildNodes, "CST"), Items = new string[] { GetXML(tag.ChildNodes, "vBC"), GetXML(tag.ChildNodes, "pPIS"), GetXML(tag.ChildNodes, "qBCProd"), GetXML(tag.ChildNodes, "vAliqProd"), }, ItemsElementName = new ItemsChoiceType[] { ItemsChoiceType.vBC, ItemsChoiceType.pPIS, ItemsChoiceType.qBCProd, ItemsChoiceType.vAliqProd }, vPIS = GetXMLZero(tag.ChildNodes, "vPIS") }; SetProperrty(result, "Item", PISOutr); break; #endregion PISOutr #region PISQtde case "PISQtde": envCFeCFeInfCFeDetImpostoPISPISQtde PISQtde = new envCFeCFeInfCFeDetImpostoPISPISQtde { CST = GetXML(tag.ChildNodes, "CST"), qBCProd = GetXML(tag.ChildNodes, "qBCProd"), vAliqProd = GetXML(tag.ChildNodes, "vAliqProd"), }; SetProperrty(result, "Item", PISQtde); break; #endregion PISQtde #region PISSN case "PISSN": envCFeCFeInfCFeDetImpostoPISPISSN PISSN = new envCFeCFeInfCFeDetImpostoPISPISSN { CST = GetXML(tag.ChildNodes, "CST") }; SetProperrty(result, "Item", PISSN); break; #endregion PISSN #region COFINSAliq case "COFINSAliq": envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq COFINSAliq = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq { CST = GetXML(tag.ChildNodes, "CST"), pCOFINS = GetXML(tag.ChildNodes, "pCOFINS"), vBC = GetXML(tag.ChildNodes, "vBC") }; SetProperrty(result, "Item", COFINSAliq); break; #endregion COFINSAliq #region COFINSNT case "COFINSNT": envCFeCFeInfCFeDetImpostoCOFINSCOFINSNT COFINSNT = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSNT { CST = GetXML(tag.ChildNodes, "CST") }; SetProperrty(result, "Item", COFINSNT); break; #endregion COFINSNT #region COFINSOutr case "COFINSOutr": envCFeCFeInfCFeDetImpostoCOFINSCOFINSOutr COFINSOutr = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSOutr { CST = GetXML(tag.ChildNodes, "CST"), Items = new string[] { GetXML(tag.ChildNodes, "vBC"), GetXML(tag.ChildNodes, "pCOFINS"), GetXML(tag.ChildNodes, "qBCProd"), GetXML(tag.ChildNodes, "vAliqProd"), }, ItemsElementName = new ItemsChoiceType2[] { ItemsChoiceType2.vBC, ItemsChoiceType2.pCOFINS, ItemsChoiceType2.qBCProd, ItemsChoiceType2.vAliqProd }, vCOFINS = GetXMLZero(tag.ChildNodes, "vCOFINS") }; SetProperrty(result, "Item", COFINSOutr); break; #endregion COFINSOutr #region COFINSNT case "COFINSQtde": envCFeCFeInfCFeDetImpostoCOFINSCOFINSQtde COFINSQtde = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSQtde { CST = GetXML(tag.ChildNodes, "CST"), qBCProd = GetXML(tag.ChildNodes, "qBCProd"), vAliqProd = GetXML(tag.ChildNodes, "vAliqProd") }; SetProperrty(result, "Item", COFINSQtde); break; #endregion COFINSNT #region COFINSSN case "COFINSSN": envCFeCFeInfCFeDetImpostoCOFINSCOFINSSN COFINSSN = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSSN { CST = GetXML(tag.ChildNodes, "CST") }; SetProperrty(result, "Item", COFINSSN); break; #endregion COFINSSN default: break; } } return(result); }