public void CarregarNotaFiscal() { Fornecedor fornecedor = new Fornecedor(); notaFiscal = new NotaFiscal(); notaFiscal.Fornecedor = fornecedor; notaFiscal.AdicionarItem(1001, "Alicate de Corte", 50, 10); notaFiscal.AdicionarItem(1002, "Chave de Fenda", 30, 25); notaFiscal.AdicionarItem(1003, "Chave Inglesa", 20, 5); ConfiguracaoImpostoRepository.AddImpostoClassificacao(ClassificacaoFornecedor.MicroEmpresa, 5); ConfiguracaoImpostoRepository.AddImpostoClassificacao(ClassificacaoFornecedor.MediaEmpresa, 10); ConfiguracaoImpostoRepository.AddImpostoClassificacao(ClassificacaoFornecedor.GrandeEmpresa, 15); }
public void TestCalcularSubTotal() { NotaFiscal notaFiscal = new NotaFiscal(); ItemNotaFiscal item = notaFiscal.AdicionarItem(1, "teste", 20, 100); double subTotalCalculado = item.CalcularSubTotal(); Assert.AreEqual(2000, subTotalCalculado); }
public bool GerarNotaFiscal(Domain.Pedido pedido) { NotaFiscal notaFiscal = new NotaFiscal(new Random().Next(99999), 1, pedido.NomeCliente, pedido.EstadoDestino, pedido.EstadoOrigem); Cfop cfop = _cfopService.ObterCfop(pedido); if (string.IsNullOrEmpty(cfop.Valor)) { return(false); } foreach (PedidoItem itemPedido in pedido.Itens) { Produto produto = new Produto(itemPedido.NomeProduto, itemPedido.CodigoProduto, itemPedido.ValorItemPedido); Icms icms = _icmsService.CalcularIcms(pedido, itemPedido, cfop); Ipi ipi = _ipiService.CalcularIpi(itemPedido); EstadoService estado = new EstadoService(pedido.EstadoDestino); NotaFiscalItem notaFiscalItem = new NotaFiscalItem(0, notaFiscal.NumeroNotaFiscal, cfop, icms, produto, ipi); if (estado.EhEstadoSudeste()) { notaFiscalItem.AplicarDesconto(0.10M); } notaFiscal.AdicionarItem(notaFiscalItem); } bool notaFiscalCriada = CriarXml(notaFiscal); if (notaFiscalCriada) { this._notaFiscalRepositorio.AdicionarNotaFiscal(notaFiscal); } return(notaFiscalCriada); }