Ejemplo n.º 1
0
        /// <summary>
        /// Persiste no banco de dados informações.
        /// </summary>
        /// <param name="notaFiscalItem"></param>
        public void GravarItemNotaFiscal(NotaFiscalItem notaFiscalItem)
        {
            string procedureName = "P_NOTA_FISCAL_ITEM";

            using (var connection = new SqlConnection(ConnectionManager.GetConnectionString))
            {
                connection.Open();

                using (var command = new SqlCommand(procedureName, connection))
                {
                    command.CommandType    = CommandType.StoredProcedure;
                    command.CommandTimeout = 60;

                    command.Parameters.Add(new SqlParameter("@pId", notaFiscalItem.Id));
                    command.Parameters.Add(new SqlParameter("@pIdNotaFiscal", notaFiscalItem.IdNotaFiscal));
                    command.Parameters.Add(new SqlParameter("@pCfop", notaFiscalItem.Cfop));
                    command.Parameters.Add(new SqlParameter("@pTipoIcms", notaFiscalItem.TipoIcms));
                    command.Parameters.Add(new SqlParameter("@pBaseIcms", notaFiscalItem.BaseIcms));
                    command.Parameters.Add(new SqlParameter("@pAliquotaIcms", notaFiscalItem.AliquotaIcms));
                    command.Parameters.Add(new SqlParameter("@pValorIcms", notaFiscalItem.ValorIcms));
                    command.Parameters.Add(new SqlParameter("@pBaseIpi", notaFiscalItem.BaseIpi));
                    command.Parameters.Add(new SqlParameter("@pAliquotaIpi", notaFiscalItem.AliquotaIpi));
                    command.Parameters.Add(new SqlParameter("@pValorIpi", notaFiscalItem.ValorIpi));
                    command.Parameters.Add(new SqlParameter("@pNomeProduto", notaFiscalItem.NomeProduto));
                    command.Parameters.Add(new SqlParameter("@pCodigoProduto", notaFiscalItem.CodigoProduto));
                    command.Parameters.Add(new SqlParameter("@pDesconto", notaFiscalItem.Desconto));

                    command.ExecuteNonQuery();
                }
            }
        }
        public void PreencherItensNF(Domain.Pedido pedido, NotaFiscal nf)
        {
            NotaFiscalService nfService = new NotaFiscalService();

            foreach (PedidoItem itemPedido in pedido.ItensDoPedido)
            {
                NotaFiscalItem notaFiscalItem = new NotaFiscalItem();

                notaFiscalItem.NomeProduto   = itemPedido.NomeProduto;
                notaFiscalItem.CodigoProduto = itemPedido.CodigoProduto;

                //Verificamos a região do destino e aplicamos o desconto se for Sudeste
                notaFiscalItem.Desconto = RegiaoSudeste(nf) ? 10 : 0;

                //Atualizando o valor do item com desconto se o mesmo for da região sudeste, senão apenas mantemos o valor
                notaFiscalItem.Valor = notaFiscalItem.Desconto > 0
                                        ? itemPedido.ValorItemPedido - (itemPedido.ValorItemPedido * (notaFiscalItem.Desconto / 100))
                                        : itemPedido.ValorItemPedido;

                //Método responsável por definir o CFOP baseado na Origem e Destino da NF
                DefinirCFOP(notaFiscalItem, nf);

                //Método responsável pela definição do TipoICMS, BaseICMS e AliquotaICMS
                DefinirICMS(notaFiscalItem, itemPedido, nf);

                //Método responsável pela definição da BaseIPI, ValorIPI e AliquotaIPI
                DefinirIPI(notaFiscalItem, itemPedido);

                //Adicionando os itens do pedido na NF
                nf.ItensDaNotaFiscal.Add(notaFiscalItem);
            }
        }
Ejemplo n.º 3
0
        private void btRemover_Click(object sender, EventArgs e)
        {
            int linhaGrid = 0;

            if (gvItens.RowCount == 0)
            {
                return;
            }

            linhaGrid = gvItens.SelectedCells[0].RowIndex;

            NotaFiscalItem itemSelecionado = new NotaFiscalItem()
            {
                Quantidade    = int.Parse(gvItens[0, linhaGrid].Value.ToString()),
                Unidade       = gvItens[1, linhaGrid].Value.ToString(),
                Descricao     = gvItens[2, linhaGrid].Value.ToString(),
                precoUnitario = decimal.Parse(gvItens[3, linhaGrid].Value.ToString())
            };

            lstNFSItens.RemoveAll(item =>
                                  item.Quantidade == itemSelecionado.Quantidade &&
                                  item.Unidade == itemSelecionado.Unidade &&
                                  item.Descricao == itemSelecionado.Descricao &&
                                  item.precoUnitario == itemSelecionado.precoUnitario);

            CarregarGridItens();
        }
Ejemplo n.º 4
0
        public bool InserirNotaFiscalItem(NotaFiscal notaFiscal, NotaFiscalItem notaFiscalItem)
        {
            var provider = new SQLServerProvider();
            var command  = new SqlCommand();

            //inserir nota fiscal item
            provider.LimparParametros(command);
            string storedProcedure = "P_NOTA_FISCAL_ITEM";

            // Adiciona os parâmetros da instrução SQL
            provider.AdicionarParametro(command, "@pId", SqlDbType.Int, 0, true);
            provider.AdicionarParametro(command, "@pIdNotaFiscal", SqlDbType.Int, notaFiscal.Id);
            provider.AdicionarParametro(command, "@pCfop", SqlDbType.VarChar, notaFiscalItem.Cfop);
            provider.AdicionarParametro(command, "@pTipoIcms", SqlDbType.VarChar, notaFiscalItem.TipoIcms);
            provider.AdicionarParametro(command, "@pBaseIcms", SqlDbType.Decimal, notaFiscalItem.BaseIcms);
            provider.AdicionarParametro(command, "@pAliquotaIcms", SqlDbType.Decimal, notaFiscalItem.AliquotaIcms);
            provider.AdicionarParametro(command, "@pValorIcms", SqlDbType.Decimal, notaFiscalItem.ValorIcms);
            provider.AdicionarParametro(command, "@pNomeProduto", SqlDbType.VarChar, notaFiscalItem.NomeProduto);
            provider.AdicionarParametro(command, "@pCodigoProduto", SqlDbType.VarChar, notaFiscalItem.CodigoProduto);
            provider.AdicionarParametro(command, "@pBaseIPI", SqlDbType.Decimal, notaFiscalItem.BaseIPI);
            provider.AdicionarParametro(command, "@pAliquotaIPI", SqlDbType.Decimal, notaFiscalItem.AliquotaIPI);
            provider.AdicionarParametro(command, "@pValorIPI", SqlDbType.Decimal, notaFiscalItem.ValorIPI);
            provider.AdicionarParametro(command, "@pDesconto", SqlDbType.Decimal, notaFiscalItem.Desconto);
            // Retorna a quantidade de linhas afetadas
            if (provider.ExecutaAtualizacao(command, storedProcedure) > 0)
            {
                notaFiscalItem.Id = Convert.ToInt32(command.Parameters["@pId"].Value.ToString().Trim());

                return(true);
            }

            return(false);
        }
        public void DefinirICMS(NotaFiscalItem notaFiscalItem, PedidoItem itemPedido, NotaFiscal notaFiscal)
        {
            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;
            }

            //Se o pedido ser do tipo Brinde, devemos alterar as aliquotas
            if (itemPedido.Brinde)
            {
                notaFiscalItem.TipoIcms     = "60";
                notaFiscalItem.AliquotaIcms = 0.18;
                notaFiscalItem.ValorIcms    = notaFiscalItem.BaseIcms * notaFiscalItem.AliquotaIcms;
            }

            notaFiscalItem.ValorIcms = notaFiscalItem.BaseIcms * notaFiscalItem.AliquotaIcms;
        }
Ejemplo n.º 6
0
        private void btAdicionar_Click(object sender, EventArgs e)
        {
            string Msg = string.Empty;

            Msg = VerificarCamposItens();

            if (Msg == string.Empty)
            {
                NotaFiscalItem nfsItem = new NotaFiscalItem()
                {
                    Quantidade    = int.Parse(tbItem_Qtd.Text),
                    Unidade       = tbItem_Unidade.Text,
                    Descricao     = tbItem_Descricao.Text,
                    precoUnitario = decimal.Parse(tbItem_PrecoUnitario.Text)
                };

                lstNFSItens.Add(nfsItem);

                CarregarGridItens();
                LimparCamposItens();
            }
            else
            {
                MessageBox.Show(Msg, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        public NotaFiscal Convert(PedidoViewModel pedido, NotaFiscal notafiscal, ResolutionContext context)
        {
            notafiscal = new NotaFiscal
            {
                NumeroNotaFiscal = 99999,
                Serie            = new Random().Next(Int32.MaxValue),
                NomeCliente      = pedido.NomeCliente,
                EstadoDestino    = pedido.EstadoDestino,
                EstadoOrigem     = pedido.EstadoOrigem,
            };

            foreach (PedidoItemViewModel itemPedido in pedido.ItensDoPedido)
            {
                NotaFiscalItem notaFiscalItem = new NotaFiscalItem
                {
                    NomeProduto    = itemPedido.NomeProduto,
                    CodigoProduto  = itemPedido.CodigoProduto,
                    BaseIcms       = itemPedido.ValorItemPedido,
                    BaseCalculoIpi = itemPedido.ValorItemPedido,
                    AliquotaIpi    = (decimal)0.10
                };

                notafiscal.AdicionarItemDaNotaFiscal(notaFiscalItem, itemPedido.Brinde);
            }

            return(notafiscal);
        }
Ejemplo n.º 8
0
        public void GerarXMLTest()
        {
            NotaFiscal notaFiscal = new NotaFiscal();

            notaFiscal.Id = 99999;
            notaFiscal.NumeroNotaFiscal = 999999;
            notaFiscal.NomeCliente      = "Teste Unitario";
            notaFiscal.Serie            = 999999;
            notaFiscal.EstadoOrigem     = "SP";
            notaFiscal.EstadoDestino    = "RO";

            NotaFiscalItem nfItem = new NotaFiscalItem();

            nfItem.IdNotaFiscal  = notaFiscal.NumeroNotaFiscal;
            nfItem.NomeProduto   = "Produto Teste";
            nfItem.CodigoProduto = "123";
            nfItem.Cfop          = "6.006";
            nfItem.TipoIcms      = "60";
            nfItem.BaseIcms      = 312;
            nfItem.AliquotaIcms  = 0.18;
            nfItem.ValorIcms     = 56.16;
            nfItem.BaseIpi       = 312;
            nfItem.AliquotaIpi   = 0.1;
            nfItem.ValorIpi      = 31.2;

            notaFiscal.GerarXML(notaFiscal);
        }
Ejemplo n.º 9
0
        public void P_NOTA_FISCAL_ITEM(NotaFiscalItem itemNf)
        {
            string query = $@"exec P_NOTA_FISCAL_ITEM '{itemNf.Id}'
                                                     ,'{itemNf.IdNotaFiscal}'
                                                     ,'{itemNf.Cfop}'
                                                     ,'{itemNf.TipoIcms}'
                                                     ,@baseIcms
                                                     ,@aliqIcms
                                                     ,@valIcms
                                                     ,@baseIpi
                                                     ,@aliqIpi
                                                     ,@valIpi
                                                     ,'{itemNf.NomeProduto}'
                                                     ,'{itemNf.CodigoProduto}'";

            using (cmd = new SqlCommand(query, conn))
            {
                cmd.Parameters.AddRange(new[] {
                    new SqlParameter("baseIcms", itemNf.BaseIcms),
                    new SqlParameter("aliqIcms", itemNf.AliquotaIcms),
                    new SqlParameter("valIcms", itemNf.ValorIcms),
                    new SqlParameter("baseIpi", itemNf.BaseIpi),
                    new SqlParameter("aliqIpi", itemNf.AliquotaIpi),
                    new SqlParameter("valIpi", itemNf.ValorIpi)
                });

                cmd.ExecuteNonQuery();
            }
        }
        public void CriarNotaFiscalItem_PedidoItemVazio_ExcecaoCamposObrigatorios()
        {
            // Arrange
            var pedidoItem = new PedidoItem
            {
                Brinde          = true,
                CodigoProduto   = "123",
                NomeProduto     = "NomeProduto",
                ValorItemPedido = 100
            };

            var pedido = new Pedido
            {
                EstadoDestino = "MG",
                EstadoOrigem  = "RJ",
                NomeCliente   = "NomeCliente",
                ItensDoPedido = new List <PedidoItem> {
                    pedidoItem
                }
            };

            var notaFiscal = NotaFiscal.New(pedido);

            // Act
            var exception = Record.Exception(() => NotaFiscalItem.New(notaFiscal, new PedidoItem()));

            // Assert
            Assert.NotNull(exception);
        }
        public bool Salvar(NotaFiscalItem notaFiscalItem)
        {
            // Create the connection.
            using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQL"].ConnectionString))
            {
                // Create a SqlCommand, and identify it as a stored procedure.
                using (SqlCommand sqlCommand = new SqlCommand("P_NOTA_FISCAL_ITEM", connection))
                {
                    sqlCommand.CommandType = CommandType.StoredProcedure;

                    MapperNotaFiscalItem(notaFiscalItem, sqlCommand);

                    try
                    {
                        connection.Open();
                        if (sqlCommand.ExecuteNonQuery() > 0)
                        {
                            return(true);
                        }
                    }

                    catch (Exception)
                    {
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 12
0
        public string ProcessarItemPedido(Pedido pedido, NotaFiscal notaFiscal, List <NotaFiscalItem> notaFiscalItemList)
        {
            foreach (PedidoItem itemPedido in pedido.ItensDoPedido)
            {
                var notaFiscalItem = new NotaFiscalItem();

                if (!DefinirCfop(notaFiscal, notaFiscalItem))
                {
                    return("Erro ao definir CFOP da Nota Fiscal");
                }

                DefinirTipoIcms(notaFiscal, notaFiscalItem);
                DefinirBaseIcms(notaFiscalItem, itemPedido);

                if (itemPedido.Brinde)
                {
                    TratarItemDeBrinde(notaFiscalItem);
                }

                DefinirBaseIPI(notaFiscalItem, itemPedido.Brinde);

                ProcessarDesconto(notaFiscal, notaFiscalItem, itemPedido);

                notaFiscalItem.NomeProduto   = itemPedido.NomeProduto;
                notaFiscalItem.CodigoProduto = itemPedido.CodigoProduto;

                notaFiscalItemList.Add(notaFiscalItem);
            }

            return(string.Empty);
        }
Ejemplo n.º 13
0
        public int IncluirItemNota(NotaFiscalItem notaFiscalItem)
        {
            var query   = "P_NOTA_FISCAL_ITEM";
            var command = new SqlCommand(query)
            {
                CommandType = CommandType.StoredProcedure
            };

            command.Parameters.AddWithValue("@pId", notaFiscalItem.Id).Direction = ParameterDirection.InputOutput;
            command.Parameters.AddWithValue("@pIdNotaFiscal", notaFiscalItem.IdNotaFiscal);
            command.Parameters.AddWithValue("@pCfop", notaFiscalItem.Cfop);
            command.Parameters.AddWithValue("@pTipoIcms", notaFiscalItem.TipoIcms);
            command.Parameters.AddWithValue("@pBaseIcms", notaFiscalItem.BaseIcms);
            command.Parameters.AddWithValue("@pAliquotaIcms", notaFiscalItem.AliquotaIcms);
            command.Parameters.AddWithValue("@pValorIcms", notaFiscalItem.ValorIcms);
            command.Parameters.AddWithValue("@pBaseIpi", notaFiscalItem.BaseIpi);
            command.Parameters.AddWithValue("@pAliquotaIpi", notaFiscalItem.AliquotaIpi);
            command.Parameters.AddWithValue("@pValorIpi", notaFiscalItem.ValorIpi);
            command.Parameters.AddWithValue("@pDesconto", notaFiscalItem.Desconto);
            command.Parameters.AddWithValue("@pNomeProduto", notaFiscalItem.NomeProduto);
            command.Parameters.AddWithValue("@pCodigoProduto", notaFiscalItem.CodigoProduto);

            this.ExecuteNonQuery(command);

            notaFiscalItem.Id = (int)command.Parameters["@pId"].Value;

            return(notaFiscalItem.Id);
        }
        public void CalcularCfopEstadoNuloTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.CalcularCfopPorEstado(null);

            Assert.AreEqual(null, notaFiscalItem.Cfop, "Erro ao calcular CFOP com entrada nula.");
        }
        public void CalcularCfopEstadoInvalidoTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.CalcularCfopPorEstado("SP");

            Assert.AreEqual(null, notaFiscalItem.Cfop, "Erro ao calcular CFOP com entrada inválida.");
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Aplica desconto para os Estados Destino da região Sudeste
 /// </summary>
 /// <param name="notaFiscal">Nota fiscal</param>
 /// <param name="notaFiscalItem">Item da Nota Fiscal</param>
 private static void VerificarDesconto(NotaFiscal notaFiscal, NotaFiscalItem notaFiscalItem)
 {
     if (notaFiscal.EstadoDestino == "SP" || notaFiscal.EstadoDestino == "RJ" ||
         notaFiscal.EstadoDestino == "MG")
     {
         notaFiscalItem.Desconto = 0.1;
     }
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Aplicação de regra de brinde ICMS
 /// </summary>
 /// <param name="itemPedido">Item do Pedido</param>
 /// <param name="notaFiscalItem">Item da Nota Fiscal</param>
 private static void AplicarRegraBrindeIcms(PedidoItem itemPedido, NotaFiscalItem notaFiscalItem)
 {
     if (itemPedido.Brinde)
     {
         notaFiscalItem.TipoIcms     = "60";
         notaFiscalItem.AliquotaIcms = 0.18;
         notaFiscalItem.ValorIcms    = notaFiscalItem.BaseIcms * notaFiscalItem.AliquotaIcms;
     }
 }
Ejemplo n.º 18
0
        public void EmitirNotaFiscal(Pedido pedido)
        {
            notaFiscal.NumeroNotaFiscal = new Random().Next(Int32.MaxValue);
            notaFiscal.Serie            = new Random().Next(Int32.MaxValue);
            notaFiscal.NomeCliente      = pedido.NomeCliente;
            notaFiscal.EstadoOrigem     = pedido.EstadoOrigem;
            notaFiscal.EstadoDestino    = pedido.EstadoDestino;

            foreach (PedidoItem itemPedido in pedido.ItensDoPedido)
            {
                NotaFiscalItem notaFiscalItem = new NotaFiscalItem();

                // IPI
                notaFiscalItem.BaseIpi = itemPedido.ValorItemPedido;
                if (!itemPedido.Brinde)
                {
                    notaFiscalItem.AliquotaIpi = 10;
                    notaFiscalItem.ValorIpi    = itemPedido.ValorItemPedido * 0.1;
                }

                // Cfop
                notaFiscalItem.Cfop = notaFiscalRepository.Cfop(notaFiscal.EstadoOrigem, notaFiscal.EstadoDestino);

                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;

                if (itemPedido.Brinde)
                {
                    notaFiscalItem.TipoIcms     = "60";
                    notaFiscalItem.AliquotaIcms = 0.18;
                    notaFiscalItem.ValorIcms    = notaFiscalItem.BaseIcms * notaFiscalItem.AliquotaIcms;
                }

                notaFiscalItem.NomeProduto   = itemPedido.NomeProduto;
                notaFiscalItem.CodigoProduto = itemPedido.CodigoProduto;
                notaFiscal.ItensDaNotaFiscal.Add(notaFiscalItem);
            }
        }
 private void PopularNotaFiscalItem()
 {
     notaFiscalItem = new NotaFiscalItem
     {
         NomeProduto    = Guid.NewGuid().ToString(),
         CodigoProduto  = Guid.NewGuid().ToString("N").Substring(0, 12),
         BaseIcms       = 100,
         BaseCalculoIpi = 100,
         AliquotaIpi    = (decimal)0.10
     };
 }
Ejemplo n.º 20
0
 public void ProcessarDesconto(NotaFiscal notaFiscal, NotaFiscalItem notaFiscalItem, PedidoItem pedidoItem)
 {
     if (_EstadosSudeste.Contains(notaFiscal.EstadoDestino))
     {
         notaFiscalItem.Desconto = pedidoItem.ValorItemPedido * 0.1;
     }
     else
     {
         notaFiscalItem.Desconto = 0;
     }
 }
        public void CalcularValorIcmsTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.BaseIcms     = 100;
            notaFiscalItem.AliquotaIcms = (decimal)0.18;

            notaFiscalItem.CalcularValorIcms();

            Assert.AreEqual(18, notaFiscalItem.ValorIcms, "Erro ao calcular Valor ICMS.");
        }
        public void CalcularValorIcmsAliquotaIcmsNuloTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.BaseIcms     = 100;
            notaFiscalItem.AliquotaIcms = null;

            notaFiscalItem.CalcularValorIcms();

            Assert.AreEqual(null, notaFiscalItem.ValorIcms, "Erro ao calcular Aliquota ICMS quando Base ICMS nulo.");
        }
Ejemplo n.º 23
0
 public void DefinirBaseIcms(NotaFiscalItem notaFiscalItem, PedidoItem itemPedido)
 {
     if (notaFiscalItem.Cfop == "6.009")
     {
         notaFiscalItem.BaseIcms = itemPedido.ValorItemPedido * 0.90; //redução de base
     }
     else
     {
         notaFiscalItem.BaseIcms = itemPedido.ValorItemPedido;
     }
 }
        public void CalcularValorIpiTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.BaseCalculoIpi = 100;
            notaFiscalItem.AliquotaIpi    = (decimal)0.10;

            notaFiscalItem.CalcularValorIpi();

            Assert.AreEqual(10, notaFiscalItem.ValorIpi, "Confere se o ValorIpi foi calculado para 10.");
        }
        public void CalcularTipoIcmsEstadoOrigemDestinoDiferentesTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            var estadoOrigem  = "RJ";
            var estadoDestino = "SP";

            notaFiscalItem.CalcularTipoIcms(estadoOrigem, estadoDestino);

            Assert.AreEqual("10", notaFiscalItem.TipoIcms, "Erro ao calcular Tipo do ICMS quando estado de Origem e Destino são diferentes.");
        }
Ejemplo n.º 26
0
        public void Calcula(PedidoItem pedidoItem, Pedido pedido, NotaFiscalItem notaFiscalItem)
        {
            EstadosSudeste getSudeste;

            bool chkDescontoSudeste = EstadosSudeste.TryParse(pedido.EstadoDestino, out getSudeste);

            if (chkDescontoSudeste)
            {
                notaFiscalItem.Desconto = pedidoItem.ValorItemPedido * 0.1;
            }
        }
        public bool Salvar(NotaFiscalItem notaFiscalItem)
        {
            var retorno = _notaFiscalItemRepository.Salvar(notaFiscalItem);

            if (!retorno)
            {
                NotificarValidacao(errorMessage: "Erro ao Salvar um item da Nota Fiscal!");
            }

            return(retorno);
        }
        public void CalcularBaseIcmsEstadoIgualSergipeBaseIcmsNuloTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.Cfop     = "6.009";
            notaFiscalItem.BaseIcms = null;

            notaFiscalItem.CalcularBaseIcms();

            Assert.AreEqual(null, notaFiscalItem.BaseIcms, "Erro ao calcular Base do ICMS quando quando estado igual a Sergipe e Base ICMS nulo.");
        }
Ejemplo n.º 29
0
 /// <summary>
 /// Seleciona cfop de acordo com Estado Origem e Estado Destino
 /// </summary>
 /// <param name="notaFiscal">Informações dos Estados</param>
 /// <param name="notaFiscalItem">Item que receberá a CFOP selecionada</param>
 private static void PreencherCfop(NotaFiscal notaFiscal, NotaFiscalItem notaFiscalItem)
 {
     if (notaFiscal.EstadoOrigem == "SP")
     {
         notaFiscalItem.Cfop = VerificarCfopsSP(notaFiscal.EstadoDestino);
     }
     else if (notaFiscal.EstadoOrigem == "MG")
     {
         notaFiscalItem.Cfop = VerificarCfopsMG(notaFiscal.EstadoDestino);
     }
 }
        public void CalcularBaseIcmsCfopNuloTest()
        {
            notaFiscalItem = new NotaFiscalItem();

            notaFiscalItem.Cfop     = null;
            notaFiscalItem.BaseIcms = 100;

            notaFiscalItem.CalcularBaseIcms();

            Assert.AreEqual(notaFiscalItem.BaseIcms, notaFiscalItem.BaseIcms, "Erro ao calcular Base do ICMS quando CFOP nulo.");
        }