Ejemplo n.º 1
0
        private Ipi GetIPI()
        {
            var ipi = new Ipi();

            ipi.Imposto = new IpiTrib
            {
                Cst  = "53",
                VBc  = 0,
                PIpi = 0,
                VIpi = 0
            };

            /*
             * Num cenário real, os dados abaixo
             * virão do banco de dados
             *
             * Esta regra serve apenas de
             * ilustração
             * */
            //if (cst == CSTIPI.ipi99)
            //    ipi.cEnq = 999;
            //else if (cst == CSTIPI.ipi50)
            //    ipi.cEnq = 999;
            //else if (cst == CSTIPI.ipi51)
            //    ipi.cEnq = 999;
            //else if (cst == CSTIPI.ipi53)
            //    ipi.cEnq = 999;

            return(ipi);
        }
Ejemplo n.º 2
0
 public static bool DefinirDescricaoIpiScopeEhValido(this Ipi ipi, string descricao)
 {
     return(AssertionConcern.IsSatisfiedBy
            (
                AssertionConcern.AssertNotNullOrEmpty(descricao, ErrorMessage.DescricaoObrigatorio),
                AssertionConcern.AssertLength(descricao, Ipi.DescricaoMinLength, Ipi.DescricaoMaxLength, ErrorMessage.DescricaoTamanhoInvalido)
            ));
 }
Ejemplo n.º 3
0
        private List <SqlParametros> PreencheCondicoes(Ipi ipi)
        {
            List <SqlParametros> lstParametrosCondicionais = new List <SqlParametros>();

            lstParametrosCondicionais.Add(new SqlParametros("IpiId", ipi.IpiId));

            return(lstParametrosCondicionais);
        }
Ejemplo n.º 4
0
        public void DeveRetornarAliquotaDezPorcentoQuandoItemPedidoNaoForBrinde()
        {
            IIpiService ipiService = new IpiService();
            var         pedidoItem = new PedidoItem("Produto", "1234", 50, false);

            Ipi ipi = ipiService.CalcularIpi(pedidoItem);

            Assert.AreEqual(0.1M, ipi.Aliquota);
        }
Ejemplo n.º 5
0
        public void DeveRetornarAliquotaZeroQuandoItemPedidoForBrinde()
        {
            IIpiService ipiService = new IpiService();
            var         pedidoItem = new PedidoItem("Produto", "1234", 50, true);

            Ipi ipi = ipiService.CalcularIpi(pedidoItem);

            Assert.AreEqual(0, ipi.Aliquota);
        }
Ejemplo n.º 6
0
 public NotaFiscalItem(int id, int idNotaFiscal, Cfop cfop, Icms icms, Produto produto, Ipi ipi)
 {
     Id           = id;
     IdNotaFiscal = idNotaFiscal;
     Cfop         = cfop;
     Icms         = icms;
     Produto      = produto;
     Ipi          = ipi;
 }
Ejemplo n.º 7
0
        public void DeveRetornarZeroQuandoAliquotaIgualZero()
        {
            decimal valor         = 50;
            decimal valorEsperado = 0;
            Ipi     ipi           = new Ipi(valor, 0);

            ipi.Calcular();

            Assert.AreEqual(valorEsperado, ipi.Valor);
        }
Ejemplo n.º 8
0
        public void DeveRetornarDezPorcentoQuandoAliquotaIgualDez()
        {
            decimal valor         = 50;
            decimal valorEsperado = 50 * 0.10M;
            Ipi     ipi           = new Ipi(valor, 0.10M);

            ipi.Calcular();

            Assert.AreEqual(valorEsperado, ipi.Valor);
        }
Ejemplo n.º 9
0
 public NFeDetImposto()
 {
     Ipi        = new Ipi();
     II         = new II();
     Pis        = new Pis();
     PisSt      = new PisSt();
     Cofins     = new Cofins();
     CofinsSt   = new CofinsSt();
     IcmsUfDest = new IcmsUfDest();
 }
Ejemplo n.º 10
0
        private List <SqlParametros> PreencheParametros(Ipi ipi)
        {
            List <SqlParametros> lstParametros = new List <SqlParametros>();

            lstParametros.Add(new SqlParametros("IpiCst", ipi.IpiCst));
            lstParametros.Add(new SqlParametros("Tipo", ipi.Tipo));
            lstParametros.Add(new SqlParametros("Descricao", ipi.Descricao));

            return(lstParametros);
        }
Ejemplo n.º 11
0
        public Ipi CalcularIpi(PedidoItem itemPedido)
        {
            Ipi     _ipi          = null;
            decimal baseDeCalculo = itemPedido.ValorItemPedido;
            decimal aliquota      = 0.1M;

            if (itemPedido.Brinde)
            {
                aliquota = 0;
            }

            _ipi = new Ipi(baseDeCalculo, aliquota);
            _ipi.Calcular();

            return(_ipi);
        }
Ejemplo n.º 12
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);
        }
Ejemplo n.º 13
0
 public void Adicionar(Ipi ipi)
 {
     _context.Ipis.Add(ipi);
 }
Ejemplo n.º 14
0
 public void Atualizar(Ipi ipi)
 {
     _context.Entry(ipi).State = EntityState.Modified;
 }
Ejemplo n.º 15
0
 public Boolean Excluir(Ipi ipi)
 {
     return(conexao.Excluir(nomeTabela, PreencheCondicoes(ipi)));
 }
Ejemplo n.º 16
0
 public Boolean Alterar(Ipi ipi)
 {
     return(conexao.Atualizar(nomeTabela, PreencheParametros(ipi), PreencheCondicoes(ipi)));
 }
Ejemplo n.º 17
0
 public Boolean Inserir(Ipi ipi)
 {
     return(conexao.Inserir(nomeTabela, PreencheParametros(ipi)));
 }
Ejemplo n.º 18
0
 public void Adicionar(Ipi ipi)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 19
0
 public void Atualizar(Ipi ipi)
 {
     throw new NotImplementedException();
 }