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); }
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); }
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(); }
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"; } }
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(); }
public void Salvar(GrupoImpostos imposto) { _grupoImpostosRepository.Salvar(imposto); }
private void AlterarImpostoCmd_Execute(GrupoImpostos obj) { _impostoViewModel.AlterarImposto(obj); }
public void Excluir(GrupoImpostos grupoImpostos) { _context.GrupoImpostos.Remove(grupoImpostos); _context.SaveChanges(); }