示例#1
0
        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);
        }
示例#2
0
 public CarregarXMLNFe()
 {
     lancamento = new Lancamento();
     produto = new Produto();
     lancamentoProduto = new LancamentoProduto();
 }