Example #1
0
        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);
        }
Example #3
0
        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);
        }