public override NotaFiscal InitDto(IReader reader, NotaFiscal dto) { base.InitDto(reader, dto); // Sobreescreve a geração default para estes campos: dto.Data = MockReader.GenerateDateTime(-10); dto.Total = MockReader.GenerateDecimal(20000); // Corrige geração do xml: dto.NfeXml = dto.Nfe? MockReader.GenerateXml() : null; return dto; }
public string excluirNotaFiscal(NotaFiscal notaFiscal) { string erro = null; try { NotasFiscais.DeleteObject(notaFiscal); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public string adicionarNotaFiscal(NotaFiscal n) { string erro = null; try { db.NotaFiscal.AddObject(n); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public string editarNotaFiscal(NotaFiscal notaFiscal) { string erro = null; try { if (notaFiscal.EntityState == System.Data.EntityState.Detached) { NotasFiscais.Attach(notaFiscal); } db.ObjectStateManager.ChangeObjectState(notaFiscal, System.Data.EntityState.Modified); db.SaveChanges(); } catch (Exception ex) { erro = ex.Message; } return erro; }
public static bool Incluir(NotaFiscal nota) { try { int incluido = NotaFiscalRep.Incluir(nota); if (incluido > 0) { foreach (Item item in nota.Itens) { NotaFiscalRep.IncluirItens(incluido, item); } return(true); } return(false); } catch (Exception) { throw; } }
public static bool Atualizar(NotaFiscal nota) { try { bool atualizado = NotaFiscalRep.Atualizar(nota); if (atualizado) { foreach (Item item in nota.Itens) { NotaFiscalRep.AtualizarItens(nota.Codigo, item); } return(true); } return(false); } catch (Exception) { throw; } }
public void NotaFiscal_Dominio_CalcularValoresTotais_Sucesso() { Mock <ProdutoNotaFiscal> produtoNotaFiscal2 = new Mock <ProdutoNotaFiscal>(_notaFiscal, _produtoMock.Object, 1); _produtoNotaFiscal.Setup(pnf => pnf.ValorTotal).Returns(100); produtoNotaFiscal2.Setup(pnf => pnf.ValorTotal).Returns(50); _produtoNotaFiscal.Setup(pnf => pnf.ValorICMS).Returns(70); produtoNotaFiscal2.Setup(pnf => pnf.ValorICMS).Returns(40); _produtoNotaFiscal.Setup(pnf => pnf.ValorIPI).Returns(30); produtoNotaFiscal2.Setup(pnf => pnf.ValorIPI).Returns(50); _produtosNotaFiscal.Add(_produtoNotaFiscal.Object); _produtosNotaFiscal.Add(produtoNotaFiscal2.Object); _notaFiscal = ObjectMother.PegarNotaFiscalValidaComListaDeProdutos(_emitenteMock.Object, _destinatarioMock.Object, _transportadorMock.Object, _produtosNotaFiscal); _notaFiscal.ValorTotalFrete = 50; _notaFiscal.CalcularValoresTotais(); _notaFiscal.ValorTotalProdutos.Should().Be(150); _notaFiscal.ValorTotalICMS.Should().Be(110); _notaFiscal.ValorTotalIPI.Should().Be(80); _notaFiscal.ValorTotalImpostos.Should().Be(190); _notaFiscal.ValorTotalNota.Should().Be(390); }
public bool salvarNotaFiscal(NotaFiscal notaFiscal) { try { using (var comandoBancoDeDados = new SqlCommand()) { comandoBancoDeDados.CommandText = "dbo.P_NOTA_FISCAL"; comandoBancoDeDados.Connection = conexaoBancoDeDados; comandoBancoDeDados.CommandType = CommandType.StoredProcedure; comandoBancoDeDados.Parameters.Add("@pId", SqlDbType.Int).Direction = ParameterDirection.InputOutput; comandoBancoDeDados.Parameters["@pId"].Value = notaFiscal.Id; comandoBancoDeDados.Parameters.Add("@pNumeroNotaFiscal", SqlDbType.Int); comandoBancoDeDados.Parameters["@pNumeroNotaFiscal"].Value = notaFiscal.NumeroNotaFiscal; comandoBancoDeDados.Parameters.Add("@pSerie", SqlDbType.Int); comandoBancoDeDados.Parameters["@pSerie"].Value = notaFiscal.Serie; comandoBancoDeDados.Parameters.Add("@pNomeCliente", SqlDbType.VarChar, 50); comandoBancoDeDados.Parameters["@pNomeCliente"].Value = notaFiscal.NomeCliente; comandoBancoDeDados.Parameters.Add("@pEstadoDestino", SqlDbType.VarChar, 50); comandoBancoDeDados.Parameters["@pEstadoDestino"].Value = notaFiscal.EstadoDestino; comandoBancoDeDados.Parameters.Add("@pEstadoOrigem", SqlDbType.VarChar, 50); comandoBancoDeDados.Parameters["@pEstadoOrigem"].Value = notaFiscal.EstadoOrigem; conexaoBancoDeDados.Open(); comandoBancoDeDados.ExecuteNonQuery(); if (notaFiscal.Id == 0) { notaFiscal.Id = Convert.ToInt32(comandoBancoDeDados.Parameters["@pId"].Value); } conexaoBancoDeDados.Close(); } } catch (Exception e) { return(false); } return(true); }
public int SalvarNotaFiscalPendente(NotaFiscal notaFiscal, string v, Ambiente ambiente) { var NotaFiscalEntity = new NotaFiscalEntity(); if (notaFiscal.Destinatario != null && notaFiscal.Destinatario.Endereco != null) { NotaFiscalEntity.UfDestinatario = notaFiscal.Destinatario.Endereco.UF; } else { NotaFiscalEntity.UfDestinatario = notaFiscal.Emitente.Endereco.UF; } NotaFiscalEntity.Destinatario = notaFiscal.Destinatario == null ? "CONSUMIDOR NÃO IDENTIFICADO" : notaFiscal.Destinatario.NomeRazao; NotaFiscalEntity.DocumentoDestinatario = notaFiscal.Destinatario == null ? null : notaFiscal.Destinatario.Documento; NotaFiscalEntity.Status = (int)notaFiscal.Identificacao.Status; NotaFiscalEntity.Chave = notaFiscal.Identificacao.Chave; NotaFiscalEntity.DataEmissao = notaFiscal.Identificacao.DataHoraEmissao; NotaFiscalEntity.Modelo = notaFiscal.Identificacao.Modelo == Modelo.Modelo55 ? "55" : "65"; NotaFiscalEntity.Serie = notaFiscal.Identificacao.Serie.ToString(); NotaFiscalEntity.TipoEmissao = notaFiscal.Identificacao.TipoEmissao.ToString(); NotaFiscalEntity.ValorDesconto = notaFiscal.TotalNFe.IcmsTotal.ValorTotalDesconto; NotaFiscalEntity.ValorDespesas = notaFiscal.TotalNFe.IcmsTotal.ValorDespesasAcessorias; NotaFiscalEntity.ValorFrete = notaFiscal.TotalNFe.IcmsTotal.ValorTotalFrete; NotaFiscalEntity.ValorICMS = notaFiscal.TotalNFe.IcmsTotal.ValorTotalIcms; NotaFiscalEntity.ValorProdutos = notaFiscal.ValorTotalProdutos; NotaFiscalEntity.ValorSeguro = notaFiscal.TotalNFe.IcmsTotal.ValorTotalSeguro; NotaFiscalEntity.ValorTotal = notaFiscal.TotalNFe.IcmsTotal.ValorTotalNFe; NotaFiscalEntity.Ambiente = ambiente == Ambiente.Homologacao ? 2 : 1; NotaFiscalEntity.Numero = notaFiscal.Identificacao.Numero; NotaFiscalEntity.IsProducao = ambiente == Ambiente.Producao; return(Salvar(NotaFiscalEntity)); }
/// <inheritdoc /> protected override void LoadPrestador(NotaFiscal nota, XElement rootNFSe) { // Endereco Prestador var prestadorServico = rootNFSe.ElementAnyNs("PrestadorServico"); if (prestadorServico == null) { return; } nota.Prestador.RazaoSocial = prestadorServico.ElementAnyNs("RazaoSocial")?.GetValue <string>() ?? string.Empty; nota.Prestador.NomeFantasia = prestadorServico.ElementAnyNs("NomeFantasia")?.GetValue <string>() ?? string.Empty; nota.Prestador.NomeFantasia = prestadorServico.ElementAnyNs("NomeFantasia")?.GetValue <string>() ?? string.Empty; // Endereco Prestador var enderecoPrestador = rootNFSe.ElementAnyNs("Endereco"); if (enderecoPrestador != null) { nota.Prestador.Endereco.Logradouro = enderecoPrestador.ElementAnyNs("Endereco")?.GetValue <string>() ?? string.Empty; nota.Prestador.Endereco.Numero = enderecoPrestador.ElementAnyNs("Numero")?.GetValue <string>() ?? string.Empty; nota.Prestador.Endereco.Complemento = enderecoPrestador.ElementAnyNs("Complemento")?.GetValue <string>() ?? string.Empty; nota.Prestador.Endereco.Bairro = enderecoPrestador.ElementAnyNs("Bairro")?.GetValue <string>() ?? string.Empty; nota.Prestador.Endereco.CodigoMunicipio = enderecoPrestador.ElementAnyNs("CodigoMunicipio")?.GetValue <int>() ?? 0; nota.Prestador.Endereco.Uf = enderecoPrestador.ElementAnyNs("Uf")?.GetValue <string>() ?? string.Empty; nota.Prestador.Endereco.Cep = enderecoPrestador.ElementAnyNs("Cep")?.GetValue <string>() ?? string.Empty; } // Contato Prestador var contatoPrestador = rootNFSe.ElementAnyNs("Contato"); if (contatoPrestador != null) { nota.Prestador.DadosContato.Telefone = contatoPrestador.ElementAnyNs("Telefone")?.GetValue <string>() ?? string.Empty; nota.Prestador.DadosContato.Email = contatoPrestador.ElementAnyNs("Email")?.GetValue <string>() ?? string.Empty; } }
private void Carrega() { { ItemNotaFiscal itemnotafiscal = new ItemNotaFiscal(); txtFabricacao.TextMode = TextBoxMode.Date; txtValidade.TextMode = TextBoxMode.Date; NotaFiscalBD bd = new NotaFiscalBD(); NotaFiscal notafiscal = NotaFiscalBD.Select(Convert.ToInt32(Session["IDNotaFiscal"].ToString())); // txtNumero.Text = Session["IDNotaFiscal"].ToString(); txtNumero.Text = Convert.ToString(notafiscal.Numero); txtDataEmissao.Text = Convert.ToString(notafiscal.DataEmissao); txtValorTotal.Text = Convert.ToString(notafiscal.ValorTotal); ddlFornecedor.Items.Insert(0, new ListItem(notafiscal.Fornecedor.NomeFantasia, notafiscal.Fornecedor.pes_id.ToString())); } //Carrega Matéria-Prima MateriaPrimaBD materiaprimabd = new MateriaPrimaBD(); DataSet materiaprimads = materiaprimabd.SelectAllNn(); //vincula matéria-prima ao dropdownlist ddlMateria.DataSource = materiaprimads.Tables[0].DefaultView; ddlMateria.DataTextField = "map_nome"; ddlMateria.DataValueField = "map_id"; ddlMateria.DataBind(); ddlMateria.Items.Insert(0, "Selecione"); //ItemNotaFiscalBD bditem = new ItemNotaFiscalBD(); //DataSet ds = bditem.SelectAll(); //grvItem.DataSource = ds.Tables[0].DefaultView; //grvItem.DataBind(); }
public bool GerarXMLNota(string diretorio, NotaFiscal nota) { try { if (!diretorio.EndsWith("\\")) { diretorio = diretorio + "\\"; } diretorio = diretorio + nota.NumeroNotaFiscal.ToString() + " - " + nota.NomeCliente.ToString() + ".xml"; if (!File.Exists(diretorio)) { XmlTextWriter xmlArquivo = new XmlTextWriter(diretorio, Encoding.GetEncoding("ISO-8859-1")); XmlSerializer x = new XmlSerializer(nota.GetType()); x.Serialize(xmlArquivo, nota); if (File.Exists(diretorio)) { return(true); } else { return(false); } } else { return(false); } } catch (Exception e) { return(false); throw new Exception(e.Message); } }
public ICommandResult Handle(EmissaoNotaFiscalCommand command) { if (command == null) { return(new CommandResult(false, "Não foi possÃvel gravar a Nota Fiscal")); } //Fail Fast Validation command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possÃvel gravar a Nota Fiscal")); } //Emitir a nota fiscal NotaFiscal notaFiscal = this.EmitirNotaFiscal(command); //Agrupar as Validações AddNotifications(notaFiscal, command); //Checar as notificações if (Invalid) { return(new CommandResult(false, "Não foi possÃvel gravar a Nota Fiscal")); } //Gerar XML if (_XmlService.Gravar(notaFiscal)) { //Salvar as informações _repository.CreateNotaFiscal(notaFiscal); } //Retornar informações return(new CommandResult(true, "Nota Fiscal armazenada com sucesso")); }
public static NotaFiscal Criar(XElement xml, Usuario usuario = null) { var infNFe = xml.Descendants().Elements(xmlns + "infNFe").First(); var ide = infNFe.Element(xmlns + "ide"); var total = infNFe.Element(xmlns + "total"); var ICMSTot = total.Element(xmlns + "ICMSTot"); var notaFiscal = new NotaFiscal(); notaFiscal.ChaveAcesso = infNFe.Attribute("Id").Value; notaFiscal.CodigoUF = ParseToString(ide.Element(xmlns + "cUF"), 0); notaFiscal.Codigo = ParseToString(ide.Element(xmlns + "cNF"), 0); notaFiscal.Numero = ParseToString(ide.Element(xmlns + "nNF"), 0); notaFiscal.Modelo = ParseToString(ide.Element(xmlns + "mod"), 55); notaFiscal.Serie = ParseToString(ide.Element(xmlns + "serie"), 0); notaFiscal.TipoNF = ParseToString(ide.Element(xmlns + "tpNF"), 0); notaFiscal.Ambiente = ParseToString(ide.Element(xmlns + "tpAmb"), 0); notaFiscal.Operacao = ParseToString(ide.Element(xmlns + "natOp"), 0); notaFiscal.Pagamento = ParseToString(ide.Element(xmlns + "indPag"), 0); notaFiscal.TipoEmissao = ParseToString(ide.Element(xmlns + "tpEmis"), 0); notaFiscal.Finalidade = ParseToString(ide.Element(xmlns + "finNFe"), 0); notaFiscal.Processo = ParseToString(ide.Element(xmlns + "procEmi"), 0); notaFiscal.VersaoProcesso = ParseToString(ide.Element(xmlns + "verProc"), 0); notaFiscal.Digito = ParseToString(ide.Element(xmlns + "cDV"), 0); notaFiscal.DataEmissao = Convert.ToDateTime(ParseToString(ide.Element(xmlns + "dEmi"), DateTime.Today)); notaFiscal.DataEntradaSaida = Convert.ToDateTime(ParseToString(ide.Element(xmlns + "dSaiEnt"), DateTime.Today)); notaFiscal.HoraEntradaSaida = ParseToString(ide.Element(xmlns + "hSaiEnt"), "00:00:00"); notaFiscal.CnpjCpfEmitente = FabricaParticipante.CriarEmitente(xml).CnpjCpf; notaFiscal.CnpjCpfDestinatario = FabricaParticipante.CriarDestinatario(xml).CnpjCpf; notaFiscal.ValorNotaFiscal = ParseToDouble(ICMSTot.Element(xmlns + "vNF"), 0); notaFiscal.Itens = FabricaItemNotaFiscal.Criar(xml); notaFiscal.Usuario = usuario; return(notaFiscal); }
public Mensagem AtualizarNotaFiscal(NotaFiscal PNotaFiscal) { Mensagem msg = new Mensagem(); msg.Codigo = PNotaFiscal.ID; msg.Descricao = "Nota Fiscal gravada com sucesso"; using (Contexto db = new Contexto()) { //db.NotasFiscais.Add(PNotaFiscal); try { db.Entry(PNotaFiscal).State = EntityState.Modified; db.SaveChanges(); } catch (Exception e) { msg.Codigo = 0; msg.Descricao = "Erro ao gravar a Nota Fiscal: " + e.Message.ToString(); } return(msg); } }
private void PreencherCampos(NotaFiscal nota) { txtCliente.Text = nota.NomeCliente; txtRegiao.Text = nota.Regiao; txtTotal.Value = Convert.ToDecimal(nota.TotalNota); txtNF.Value = Convert.ToDecimal(nota.NumNF); var pesquisa = controle.procurarVendedorCpf(nota.VendedorCPF); txtVendedor.Text = pesquisa; var novaListUsuario = nota.listaProdutos.Select(notinha => new { Item = notinha.Numero, Descrição = notinha.Nome, Qtd = notinha.Quant, ValorUnitário = notinha.PrecoUnitario, ValorItem = notinha.Total }).ToList(); tabela.DataSource = novaListUsuario; tabela.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; tabela.ColumnHeadersDefaultCellStyle.ForeColor = Color.Red; }
public static NotaFiscal Buscar(int codigo) { try { NotaFiscal nota = null; using (SqlConnection connection = new SqlConnection(Properties.Settings.Default.BancoDados)) { connection.Open(); using (SqlCommand command = new SqlCommand("[dbo].[usp_NotaFiscal_Buscar]", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@Codigo", codigo); using (SqlDataReader reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { nota = new NotaFiscal(); nota.Codigo = reader.GetInt32(reader.GetOrdinal("Codigo")); nota.ValorTotal = reader.GetDecimal(reader.GetOrdinal("ValorTotal")); nota.Cliente = new Cliente(); nota.Cliente.Codigo = reader.GetInt32(reader.GetOrdinal("CodigoCliente")); nota.Data = reader.GetDateTime(reader.GetOrdinal("Data")); } } } } } return(nota); } catch (Exception) { throw; } }
private NotaFiscal EmitirNotaFiscal(EmissaoNotaFiscalCommand pedido) { NotaFiscal nota = new NotaFiscal(99999, new Random().Next(Int32.MaxValue), pedido.NomeCliente, pedido.EstadoDestino, pedido.EstadoOrigem ); foreach (PedidoItem itemPedido in pedido.ItensDoPedido) { NotaFiscalItem notaFiscalItem = new NotaFiscalItem( pedido.EstadoOrigem, pedido.EstadoDestino, itemPedido.ValorItemPedido, itemPedido.Brinde, itemPedido.NomeProduto, itemPedido.CodigoProduto); nota.AddItensDaNotaFiscal(notaFiscalItem); } return(nota); }
private bool VerificarNumeroNFDuplicado(NotaFiscal notaFiscal) { DataAccess dao = new DataAccess(); Dictionary <string, string> lstParametros = new Dictionary <string, string>(); bool existeNF = true; try { lstParametros.Add("@NumeroNota", notaFiscal.numeroNota.ToString()); lstParametros.Add("@IdEmpresa", notaFiscal.idEmpresa.ToString()); lstParametros.Add("@TipoNota", notaFiscal.tipoNota.ToString()); using (DataSet ds = dao.Pesquisar("SP_NOTASFISCAIS_VERIFICARDUPLICIDADE", lstParametros)) { existeNF = ds.Tables[0].Rows.Count > 0; } } catch (Exception ex) { string parametrosSQL = string.Empty; parametrosSQL = helper.ConcatenarParametrosSQL(lstParametros); LogErro log = new LogErro() { procedureSQL = "SP_NOTASFISCAIS_VERIFICARDUPLICIDADE", parametrosSQL = parametrosSQL, mensagemErro = ex.ToString() }; bizLogErro.IncluirLogErro(log); throw ex; } return(existeNF); }
public bool GerarArquivoXML(NotaFiscal notaFiscal) { try { var caminho = ConfigurationManager.AppSettings.Get("CaminhoArquivoXMLNotaFiscal"); System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(NotaFiscal), extraTypes: new Type[] { typeof(NotaFiscalItem) }); var path = caminho + "//NotaFiscal_" + notaFiscal.Serie + ".xml"; using (FileStream file = System.IO.File.Create(path)) { writer.Serialize(file, notaFiscal); } return(true); } catch (Exception) { } return(false); }
public async Task AtualizarNotaFiscalCancelada(long codigoIntegracao) { if (!(Convert.ToBoolean(ConfigurationManager.AppSettings["IntegracaoSankhya_Habilitar"])))//TODO Temporário { return; } string union = string.Format(" UNION SELECT NUNOTA FROM TGFCAB_EXC ", codigoIntegracao); List <NotaFiscalCanceladaIntegracao> notasIntegracao = await IntegracaoSankhya.Instance.PreExecutarQuery <NotaFiscalCanceladaIntegracao>(inner : union); foreach (var notasInt in notasIntegracao) { var codNota = Convert.ToInt64(notasInt.NUNOTA); NotaFiscal notaFiscal = _uow.NotaFiscalRepository.ObterPorCodigoIntegracao(codNota); if (notaFiscal != null && notaFiscal.NotaFiscalStatus.IdNotaFiscalStatus == NotaFiscalStatusEnum.AguardandoRecebimento) { notaFiscal.NotaFiscalStatus.IdNotaFiscalStatus = NotaFiscalStatusEnum.Cancelada; _uow.NotaFiscalRepository.Update(notaFiscal); _uow.SaveChanges(); } } }
/// <summary> /// Grava a nota fiscal /// </summary> /// <param name="notaFiscal">Dados da Nota fiscal</param> public void GravarNotaFiscal(NotaFiscal notaFiscal) { try { using (var scope = new TransactionScope()) { notaFiscal.Id = Gravar(notaFiscal); NotaFiscalItemRepository notaFiscalItemRepository = new NotaFiscalItemRepository(); notaFiscalItemRepository.GravarItemNotaFiscal(notaFiscal.ItensDaNotaFiscal, notaFiscal.Id); bool xmlGerado = GerarXml(notaFiscal); if (xmlGerado) { scope.Complete(); } } } catch (Exception ex) { AddError(ex.Message); } }
public void GerarNotaFiscalTest() { NotaFiscalRepository notaFiscalRepository = new NotaFiscalRepository(); //arrange Pedido pedido = new Pedido("SP", "RO", "Cliente A", _itens); pedido.AddItem(new PedidoItem("Produto A", Guid.NewGuid().ToString().Substring(0, 10), Math.Round(new Random().NextDouble(), 4), true)); pedido.AddItem(new PedidoItem("Produto B", Guid.NewGuid().ToString().Substring(0, 10), Math.Round(new Random().NextDouble(), 4), false)); pedido.AddItem(new PedidoItem("Produto C", Guid.NewGuid().ToString().Substring(0, 10), Math.Round(new Random().NextDouble(), 4), false)); if (pedido.IsValid) { NotaFiscal notaFiscal = new NotaFiscal(pedido.NomeCliente, pedido.EstadoDestino, pedido.EstadoOrigem, _itens); if (notaFiscal.IsValid) { //act notaFiscalRepository.GravarNotaFiscal(notaFiscal); } } Assert.IsTrue(notaFiscalRepository.IsValid); }
static void Main(string[] args) { NotaFiscalBuilder builder = new NotaFiscalBuilder(new List <IAcaoAposGerarNotaFiscal> { new EnviadorEmail(), new EnviadorSms(), new NotaFiscalDAO() }); //Fluent Interface ou Method Chain builder .ParaEmpresa("MFY IT") .ComCNPJ("123.456.789/0001-01") .ComItem(new ItemNotaFiscal("item 1", 100.00)) .ComItem(new ItemNotaFiscal("item 2", 150.30)) .NaDataAtual() .ComObservacoes("Teste com object builder"); // builder.AdicionaAcao(new EnviadorEmail()); // builder.AdicionaAcao(new EnviadorSms()); // builder.AdicionaAcao(new NotaFiscalDAO()); NotaFiscal nf = builder.Constroi(); Console.WriteLine(nf.ValorBruto); Console.WriteLine(nf.ValorImposto); }
/// <summary> /// Calcula IPI de acordo com a regulamentação /// </summary> /// <param name="notaFiscal">Informações da Nota Fiscal</param> /// <param name="itemPedido">Item do Pedido</param> /// <param name="notaFiscalItem">Item da Nota Fiscal</param> private static void CalcularIcms(NotaFiscal notaFiscal, PedidoItem itemPedido, NotaFiscalItem notaFiscalItem) { if (notaFiscal.EstadoDestino == notaFiscal.EstadoOrigem) { notaFiscalItem.TipoIcms = "60"; notaFiscalItem.AliquotaIcms = 0.18; } else { notaFiscalItem.TipoIcms = "10"; notaFiscalItem.AliquotaIcms = 0.17; } if (notaFiscalItem.Cfop == "6.009") { notaFiscalItem.BaseIcms = itemPedido.ValorItemPedido * 0.90; //redução de base } else { notaFiscalItem.BaseIcms = itemPedido.ValorItemPedido; } notaFiscalItem.ValorIcms = notaFiscalItem.BaseIcms * notaFiscalItem.AliquotaIcms; AplicarRegraBrindeIcms(itemPedido, notaFiscalItem); }
private static List <ProdutoViewModel> ConverterParaProdutoModel(NotaFiscal notaFiscal) { var produtos = new List <ProdutoViewModel>(); foreach (var produto in notaFiscal.Produtos) { ProdutoViewModel produtoModel = new ProdutoViewModel { AliquotaIcms = produto.Imposto.AliquotaICMS, AliquotaIpi = produto.Imposto.AliquotaIPI, BaseIcms = produto.ValorTotal, Codigo = produto.CodigoProduto.ToString(), Descricao = produto.Descricao, Quantidade = produto.Quantidade, ValorIcms = produto.Imposto.ValorICMS, ValorIpi = produto.Imposto.ValorIPI, ValorTotal = produto.ValorTotal, ValorUnitario = produto.ValorUnitario, }; produtos.Add(produtoModel); } return(produtos); }
public int InsertRetornaId(NotaFiscal notaFiscal) { int retorno = 0; try { System.Data.IDbConnection objConexao; System.Data.IDbCommand objCommand; string sql = "INSERT INTO nfi_notafiscal(nfi_numeroNotaFiscal, nfi_dataEmissao, nfi_valorTotal, pes_id) VALUES (?numero, ?dataEmissao, ?valorTotal, ?fornecedor); select last_insert_id();"; objConexao = Mapped.Connection(); objCommand = Mapped.Command(sql, objConexao); objCommand.Parameters.Add(Mapped.Parameter("?numero", notaFiscal.Numero)); objCommand.Parameters.Add(Mapped.Parameter("?dataEmissao", notaFiscal.DataEmissao)); objCommand.Parameters.Add(Mapped.Parameter("?valorTotal", notaFiscal.ValorTotal)); objCommand.Parameters.Add(Mapped.Parameter("?fornecedor", notaFiscal.Fornecedor.pes_id)); retorno = Convert.ToInt32(objCommand.ExecuteScalar()); objConexao.Close(); objCommand.Dispose(); objConexao.Dispose(); } catch (MySql.Data.MySqlClient.MySqlException ex) { retorno = -1; } catch (Exception) { retorno = -2; } return(retorno); }
public void Emitir_NotaFiscal_Sem_Desconto_Estado_Destino_Sudeste() { NotaFiscal nf = new NotaFiscal(); Pedido pedido = new Pedido(); pedido.EstadoOrigem = "SP"; pedido.EstadoDestino = "SE"; pedido.NomeCliente = "teste1"; pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = true, CodigoProduto = "100", NomeProduto = "Produto1", ValorItemPedido = 10 }); nf.EmitirNotaFiscal(pedido); Assert.AreEqual(nf.ItensDaNotaFiscal[0].Desconto, 0); }
public void Emitir_NotaFiscal_Aliquota_Valor_IPI_100() { NotaFiscal nf = new NotaFiscal(); Pedido pedido = new Pedido(); pedido.EstadoOrigem = "SP"; pedido.EstadoDestino = "RO"; pedido.NomeCliente = "teste1"; pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = false, CodigoProduto = "100", NomeProduto = "Produto1", ValorItemPedido = 10 }); nf.EmitirNotaFiscal(pedido); Assert.AreEqual(nf.ItensDaNotaFiscal[0].ValorIPI, 100); }
public void Emitir_NotaFiscal_Estado_Origem_Igual_Estado_Destino_AliquotaIcms_Igual_18() { NotaFiscal nf = new NotaFiscal(); Pedido pedido = new Pedido(); pedido.EstadoOrigem = "SP"; pedido.EstadoDestino = "SP"; pedido.NomeCliente = "teste1"; pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = true, CodigoProduto = "100", NomeProduto = "Produto1", ValorItemPedido = 10 }); nf.EmitirNotaFiscal(pedido); Assert.AreEqual(nf.ItensDaNotaFiscal[0].AliquotaIcms, 0.18); }
public void Emitir_NotaFiscal_Origem_SP_Destino_RO() { NotaFiscal nf = new NotaFiscal(); Pedido pedido = new Pedido(); pedido.EstadoOrigem = "SP"; pedido.EstadoDestino = "RO"; pedido.NomeCliente = "teste1"; pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = true, CodigoProduto = "100", NomeProduto = "Produto1", ValorItemPedido = 200 }); nf.EmitirNotaFiscal(pedido); Assert.AreEqual(nf.ItensDaNotaFiscal[0].Cfop, "6.006"); }
public static NotaFiscal Criar(XElement xml, Usuario usuario = null) { var infNFe = xml.Descendants().Elements(xmlns + "infNFe").First(); var ide = infNFe.Element(xmlns + "ide"); var total = infNFe.Element(xmlns + "total"); var ICMSTot = total.Element(xmlns + "ICMSTot"); var notaFiscal = new NotaFiscal(); notaFiscal.ChaveAcesso = infNFe.Attribute("Id").Value; notaFiscal.CodigoUF = ParseToString(ide.Element(xmlns + "cUF"), 0); notaFiscal.Codigo = ParseToString(ide.Element(xmlns + "cNF"), 0); notaFiscal.Numero = ParseToString(ide.Element(xmlns + "nNF"), 0); notaFiscal.Modelo = ParseToString(ide.Element(xmlns + "mod"), 55); notaFiscal.Serie = ParseToString(ide.Element(xmlns + "serie"), 0); notaFiscal.TipoNF = ParseToString(ide.Element(xmlns + "tpNF"), 0); notaFiscal.Ambiente = ParseToString(ide.Element(xmlns + "tpAmb"), 0); notaFiscal.Operacao = ParseToString(ide.Element(xmlns + "natOp"), 0); notaFiscal.Pagamento = ParseToString(ide.Element(xmlns + "indPag"), 0); notaFiscal.TipoEmissao = ParseToString(ide.Element(xmlns + "tpEmis"), 0); notaFiscal.Finalidade = ParseToString(ide.Element(xmlns + "finNFe"), 0); notaFiscal.Processo = ParseToString(ide.Element(xmlns + "procEmi"), 0); notaFiscal.VersaoProcesso = ParseToString(ide.Element(xmlns + "verProc"), 0); notaFiscal.Digito = ParseToString(ide.Element(xmlns + "cDV"), 0); notaFiscal.DataEmissao = Convert.ToDateTime(ParseToString(ide.Element(xmlns + "dEmi"), DateTime.Today)); notaFiscal.DataEntradaSaida = Convert.ToDateTime(ParseToString(ide.Element(xmlns + "dSaiEnt"), DateTime.Today)); notaFiscal.HoraEntradaSaida = ParseToString(ide.Element(xmlns + "hSaiEnt"), "00:00:00"); notaFiscal.CnpjCpfEmitente = FabricaParticipante.CriarEmitente(xml).CnpjCpf; notaFiscal.CnpjCpfDestinatario = FabricaParticipante.CriarDestinatario(xml).CnpjCpf; notaFiscal.ValorNotaFiscal = ParseToDouble(ICMSTot.Element(xmlns + "vNF"), 0); notaFiscal.Itens = FabricaItemNotaFiscal.Criar(xml); notaFiscal.Usuario = usuario; return notaFiscal; }
private NotaFiscal MontaNotaFiscal(Model.Comanda.Comanda comanda, int descontoCerveja) { NotaFiscal notaFiscal = new NotaFiscal(); double valorTotal = 0; foreach (var item in comanda.Itens) { notaFiscal.Item.Add(item); valorTotal = item.Preco; } notaFiscal.ValorTotal = valorTotal; if (descontoCerveja != 0) { notaFiscal.Desconto = descontoCerveja * 2; } else { notaFiscal.Desconto = 0; } return(notaFiscal); }
internal static string GerarXmlLoteNFe(NotaFiscal notaFiscal, string nFeNamespaceName) { var ide = GetIdentificacao(notaFiscal); var emit = GetEmitente(notaFiscal); var det = GetDetalhamentoProdutos(notaFiscal); var pag = GetPagamento(notaFiscal); var transp = GetTransporte(notaFiscal); var infAdic = GetInformacaoAdicional(notaFiscal); var total = GetTotal(notaFiscal); var infNFe = new TNFeInfNFe(); if (notaFiscal.Destinatario != null) { var dest = GetDestinatario(notaFiscal); infNFe.dest = dest; } infNFe.ide = ide; infNFe.emit = emit; infNFe.det = det; infNFe.pag = pag; infNFe.transp = transp; infNFe.infAdic = infAdic; infNFe.total = total; infNFe.versao = notaFiscal.VersaoLayout; infNFe.Id = "NFe" + notaFiscal.Identificacao.Chave; var nfe = new TNFe(); nfe.infNFe = infNFe; if (notaFiscal.Identificacao.Modelo == Modelo.Modelo65) { nfe.infNFeSupl = new TNFeInfNFeSupl { qrCode = "", urlChave = "http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx" } } ; else { nfe.infNFeSupl = null; } var nfeArray = new TNFe[1]; nfeArray[0] = nfe; var lote = new TEnviNFe(); lote.idLote = "999999"; //qual a regra pra gerar o id? lote.indSinc = TEnviNFeIndSinc.Item1; //apenas uma nota no lote lote.versao = "4.00"; lote.NFe = nfeArray; var parametroXml = Serialize(lote, nFeNamespaceName); parametroXml = parametroXml.Replace("<NFe>", "<NFe xmlns=\"http://www.portalfiscal.inf.br/nfe\">"); return(parametroXml); }
private void obterNotaFiscal() { notaFiscal = new NotaFiscal(); //notaFiscal.idTransacao = Convert.ToInt32(txtNumEntrada.Text); notaFiscal.idTransacao = idEntrada; notaFiscal.dataHora = Convert.ToDateTime(txtDataNotaFiscal.Text); notaFiscal.numero = txtNotaFiscal.Text; }
public void SetUp() { _notaFiscal = new NotaFiscal(); _notaFiscalRepositorio = new NotaFiscalRepositorioSql(); }
private void PersirtindoNoBanco(NotaFiscal.NotaFiscal nf) { Console.WriteLine("Salvando nota fiscal na base de dados"); }
private NotaFiscal NotaFiscalDevolucao(NovaNotaRequisicao requisicao, DateTime dataUpload) { var clinica = _clinicaRepositorio.ObterPor(requisicao.CodigoDaClinica); var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel); var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma); var nota = new NotaFiscal { Clinica = clinica, Responsavel = responsavel, Valor = requisicao.Valor, Numero = requisicao.Numero, Data = requisicao.Data, DataRecebimento = requisicao.DataRecebimento, Arquivo = new Arquivo(requisicao.DescricaoDoArquivo, requisicao.NomeDoArquivo, dataUpload), Programa = programa }; //IMPLEMENTAR VINCULO NF DEVOLVIDA COM INFUSAO. //foreach (var infusaoAssociar in requisicao.Infusoes) //{ // var infusao = _infusaoRepositorio.ObterPor(infusaoAssociar.Codigo); // infusao.EmAberto(); // if (infusaoAssociar.Glosar) // infusao.Glosar(); // nota.Infusoes.Add(infusao); //} return nota; }
private NotaFiscal NotaFiscal(NovaNotaRequisicao requisicao, DateTime dataUpload) { var clinica = _clinicaRepositorio.ObterPor(requisicao.CodigoDaClinica); var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel); var programa = _programaRepositorio.ObterPor(requisicao.CodigoDoPrograma); var nota = new NotaFiscal { Clinica = clinica, Responsavel = responsavel, Valor = requisicao.Valor, Numero = requisicao.Numero, Data = requisicao.Data, DataRecebimento = requisicao.DataRecebimento, Arquivo = new Arquivo(requisicao.DescricaoDoArquivo, requisicao.NomeDoArquivo, dataUpload), Programa = programa }; foreach (var infusaoAssociar in requisicao.Infusoes) { var infusao = _infusaoRepositorio.ObterPor(infusaoAssociar.Codigo); infusao.EmAberto(); if (infusaoAssociar.Glosar) infusao.Glosar(); nota.Infusoes.Add(infusao); } return nota; }
public void ExecutarAcao(NotaFiscal.NotaFiscal nf) { this.PersirtindoNoBanco(nf); }
public NotaFiscal Gera(Fatura fatura) { double valor = fatura.ValorMensal; NotaFiscal nf = new NotaFiscal(valor, ImpostoSimplesSobreO(valor)); email.EnviaEmail(nf); dao.Persiste(nf); return nf; }