public void CarregarLancamentoProduto() { string fileName = @"C:\31160541706664000239550010000055791001365074-nfe.xml"; var nfe = XElement.Load(fileName); var nfeCarregada = Serializer.Deserialize<TNfeProc>(nfe); var prod = nfeCarregada.NFe.infNFe.det; var imp = nfeCarregada.NFe.infNFe.det.Select(x => x.imposto); foreach(var p in prod){ if (p.prod.cEAN != "") { lancamentoProduto.ean = Convert.ToInt64(p.prod.cEAN); } else { lancamentoProduto.ean = 0; } if (p.imposto.PIS.Item.GetType().Name == "TNFeInfNFeDetImpostoPISPISNT") { var pisNT = (TNFeInfNFeDetImpostoPISPISNT)p.imposto.PIS.Item; } else if (p.imposto.PIS.Item.GetType().Name == "TNFeInfNFeDetImpostoPISPISAliq") { var pisAliq = (TNFeInfNFeDetImpostoPISPISAliq)p.imposto.PIS.Item; string strCSTPIS = pisAliq.CST.ToString(); lancamentoProduto.cstPis = strCSTPIS.Replace("Item", ""); lancamentoProduto.alqPis = Convert.ToDecimal(pisAliq.pPIS.Replace(".", ",")); lancamentoProduto.bcPis = Convert.ToDecimal(pisAliq.vBC.Replace(".", ",")); lancamentoProduto.valorPis = Convert.ToDecimal(pisAliq.vPIS.Replace(".", ",")); } if (p.imposto.COFINS.Item.GetType().Name == "TNFeInfNFeDetImpostoCOFINSCOFINSNT") { //var cofins = (TNFeInfNFeDetImpostoCOFINSCOFINSNT)p.imposto.COFINS.Item; } else if (p.imposto.COFINS.Item.GetType().Name == "TNFeInfNFeDetImpostoCOFINSCOFINSAliq") { //var cofinsAliq = (TNFeInfNFeDetImpostoCOFINSCOFINSAliq)p.imposto.COFINS.Item; //string strCSTCOFINS = cofinsAliq.CST.ToString(); //lancamentoProduto.cstCofins = strCSTCOFINS.Replace("Item", ""); //lancamentoProduto.alqCofins = Convert.ToDecimal(cofinsAliq.pCOFINS.Replace(".", ",")); //lancamentoProduto.bcCofins = Convert.ToDecimal(cofinsAliq.vBC.Replace(".", ",")); //lancamentoProduto.valorCofins = Convert.ToDecimal(cofinsAliq.vCOFINS.Replace(".", ",")); } } var testeLancamentoProduto = new LancamentoProduto(); testeLancamentoProduto.ean = 7891395061874; testeLancamentoProduto.cstPis = "01"; testeLancamentoProduto.alqPis = Convert.ToDecimal(1.6500); testeLancamentoProduto.bcPis = Convert.ToDecimal(2.70); testeLancamentoProduto.valorPis = Convert.ToDecimal(0.04); Assert.AreEqual(lancamentoProduto.ean, testeLancamentoProduto.ean); Assert.AreEqual(lancamentoProduto.cstPis, testeLancamentoProduto.cstPis); Assert.AreEqual(lancamentoProduto.alqPis, testeLancamentoProduto.alqPis); Assert.AreEqual(lancamentoProduto.bcPis, testeLancamentoProduto.bcPis); Assert.AreEqual(lancamentoProduto.valorPis, testeLancamentoProduto.valorPis); }
public CarregarXMLNFe() { lancamento = new Lancamento(); produto = new Produto(); lancamentoProduto = new LancamentoProduto(); }