private List <Produto> GetProdutos(Retorno.TNFe nfe)
        {
            var produtos = new List <Produto>();

            var ambiente = (Ambiente)(int)nfe.infNFe.ide.tpAmb;

            foreach (var det in nfe.infNFe.det)
            {
                var icmsDet = (Retorno.TNFeInfNFeDetImpostoICMS)det.imposto.Items[0];

                var icms = new Imposto {
                    TipoImposto = TipoImposto.Icms, Aliquota = 0
                };

                var icms60 = icmsDet.Item as Retorno.TNFeInfNFeDetImpostoICMSICMS60;
                if (icms60 != null)
                {
                    icms.CST = TabelaIcmsCst.IcmsCobradoAnteriormentePorST;
                }
                else if (icmsDet.Item is Retorno.TNFeInfNFeDetImpostoICMSICMS40)
                {
                    icms.CST = TabelaIcmsCst.Isenta;
                }

                var pisNt = (Retorno.TNFeInfNFeDetImpostoPISPISNT)det.imposto.PIS.Item;
                var pis   = new Imposto
                {
                    TipoImposto = TipoImposto.PIS,
                    Aliquota    = 0,
                    CST         = pisNt.CST.ToString().Replace("Item", string.Empty)
                };

                var grupoImpostos = new GrupoImpostos
                {
                    CFOP     = det.prod.CFOP.Replace("Item", string.Empty),
                    Impostos = new List <Imposto> {
                        icms, pis
                    }
                };

                var newProduto = new Produto(grupoImpostos, 0, det.prod.CFOP.Replace("Item", string.Empty),
                                             det.prod.cProd, det.prod.xProd, det.prod.NCM,
                                             int.Parse(det.prod.qCom), det.prod.uCom,
                                             double.Parse(det.prod.vUnCom, CultureInfo.InvariantCulture), 0, ambiente == Ambiente.Producao)
                {
                    Cest = det.prod.CEST
                };


                produtos.Add(newProduto);
            }

            return(produtos);
        }
        private static NotaFiscal PreencherNotaFiscal()
        {
            var endereçoEmitente =
                new Endereco("QUADRA 200 CONJUNTO 20", "20", "BRASILIA", "BRASILIA", "70000000", "DF");
            var emitente = new Emissor("RAZAO SOCIAL", "NOME FANTASIA", "12345678998765", "1234567898765",
                                       "1234567898765", "4784900", "Regime Normal", endereçoEmitente, "99999999");
            var identificação = new IdentificacaoNFe(CodigoUfIbge.DF, DateTime.Now, emitente.CNPJ, Modelo.Modelo65, 1,
                                                     "20887", TipoEmissao.Normal, Ambiente.Homologacao, emitente, "Venda", FinalidadeEmissao.Normal, true,
                                                     PresencaComprador.Presencial, "CPF");
            var       transporte         = new Transporte(Modelo.Modelo65, null, null);
            const int valorTotalProdutos = 65;
            var       totalIcms          = new IcmsTotal(0, 0, 0, 0, 0, valorTotalProdutos, 0, 0, 0, 0, 0, 0, 0, 0, valorTotalProdutos,
                                                         0);
            var totalNFe = new TotalNFe {
                IcmsTotal = totalIcms
            };
            var impostos = new List <Imposto>
            {
                new Imposto {
                    CST = "60", TipoImposto = TipoImposto.Icms
                },
                new Imposto {
                    CST = "04", TipoImposto = TipoImposto.PIS
                }
            };
            var grupoImpostos = new GrupoImpostos
            {
                CFOP      = "5656",
                Descricao = "Gás Venda",
                Impostos  = impostos
            };
            var produtos = new List <Produto>
            {
                new Produto(grupoImpostos, 0, "5656", "0001", "GLP 13KG", "27111910", 1, "UN", 65, 0, false)
            };
            var pagamentos = new List <Pagamento>
            {
                new Pagamento(FormaPagamento.Dinheiro)
                {
                    Valor = 65
                }
            };
            var infoAdicional = new InfoAdicional(produtos);
            var notaFiscal    = new NotaFiscal(emitente, null, identificação, transporte, totalNFe, infoAdicional,
                                               produtos, pagamentos);

            return(notaFiscal);
        }
Esempio n. 3
0
        public int Salvar(GrupoImpostos grupoImpostos)
        {
            var entity = _context.GrupoImpostos.Where(g => g.Id == grupoImpostos.Id).FirstOrDefault();

            if (grupoImpostos.Id == 0)
            {
                _context.Entry(grupoImpostos).State = EntityState.Added;
            }
            else
            {
                _context.Entry(entity).CurrentValues.SetValues(grupoImpostos);
            }
            _context.SaveChanges();

            return(grupoImpostos.Id);
        }
Esempio n. 4
0
        private void SalvarCmd_Execute(Window window)
        {
            var grupoImpostos = new GrupoImpostos();

            foreach (var i in Impostos)
            {
                switch (i.Nome)
                {
                case "ICMS":
                    grupoImpostos.Impostos.Add(new NFe.Core.Entitities.Imposto()
                    {
                        CST = i.CST, Aliquota = i.Aliquota, TipoImposto = TipoImposto.Icms
                    });
                    break;

                case "PIS":
                    grupoImpostos.Impostos.Add(new NFe.Core.Entitities.Imposto()
                    {
                        CST = i.CST, Aliquota = i.Aliquota, TipoImposto = TipoImposto.PIS
                    });
                    break;

                case "COFINS":
                    grupoImpostos.Impostos.Add(new NFe.Core.Entitities.Imposto()
                    {
                        CST = i.CST, Aliquota = i.Aliquota, TipoImposto = TipoImposto.Confins
                    });
                    break;

                case "IPI":
                    grupoImpostos.Impostos.Add(new NFe.Core.Entitities.Imposto()
                    {
                        CST = i.CST, Aliquota = i.Aliquota, TipoImposto = TipoImposto.IPI
                    });
                    break;
                }
            }

            grupoImpostos.CFOP      = CFOP;
            grupoImpostos.Descricao = Descricao;
            grupoImpostos.Id        = Id;

            _impostoService.Salvar(grupoImpostos);

            ImpostoAdicionadoEvent();
            window.Close();
        }
Esempio n. 5
0
        public Produto(GrupoImpostos grupoImpostos, int id, string cfop, string codigo, string descricao, string ncm,
                       int qtdeUnidadeComercial, string unidadeComercial,
                       double valorUnidadeComercial, double valorDesconto, bool isProducao)
        {
            GrupoImpostos         = grupoImpostos;
            Id                    = id;
            Cfop                  = (TCfop)Enum.Parse(typeof(TCfop), "Item" + cfop);
            Codigo                = codigo;
            Descricao             = descricao;
            Ncm                   = ncm;
            QtdeUnidadeComercial  = qtdeUnidadeComercial;
            UnidadeComercial      = unidadeComercial;
            ValorUnidadeComercial =
                valorUnidadeComercial; //quando unidade comercial não for UN, isso aqui muda, arrumar no banco (ver exemplo no teste unitário NFeManager)
            ValorTotal    = QtdeUnidadeComercial * ValorUnidadeComercial;
            ValorDesconto = valorDesconto;

            if (isProducao)
            {
                Cest = "0104300";
            }
        }
Esempio n. 6
0
        internal void AlterarImposto(GrupoImpostos obj)
        {
            Impostos.Clear();

            CFOP      = obj.CFOP;
            Descricao = obj.Descricao;
            Id        = obj.Id;

            foreach (var imposto in obj.Impostos)
            {
                Impostos.Add(new Imposto()
                {
                    Aliquota = imposto.Aliquota, CST = imposto.CST, Nome = imposto.TipoImposto.ToString()
                });
            }

            var app        = Application.Current;
            var mainWindow = app.MainWindow;

            new CadastroImpostoWindow()
            {
                Owner = mainWindow
            }.ShowDialog();
        }
Esempio n. 7
0
 public void Salvar(GrupoImpostos imposto)
 {
     _grupoImpostosRepository.Salvar(imposto);
 }
Esempio n. 8
0
 private void AlterarImpostoCmd_Execute(GrupoImpostos obj)
 {
     _impostoViewModel.AlterarImposto(obj);
 }
Esempio n. 9
0
 public void Excluir(GrupoImpostos grupoImpostos)
 {
     _context.GrupoImpostos.Remove(grupoImpostos);
     _context.SaveChanges();
 }