コード例 #1
0
        private void btnNovoProduto_Click(object sender, EventArgs e)
        {
            EntradaProduto entradaProduto = (EntradaProduto)entradaProdutoBindingSource.Current;
            FrmProduto     frmProduto     = new FrmProduto(entradaProduto);

            frmProduto.ShowDialog();
            entradaProduto.CodProduto = frmProduto.ProdutoPesquisa.CodProduto;
            entradaProdutoBindingSource.ResumeBinding();
            produtoBindingSource.DataSource = GerenciadorProduto.GetInstance().ObterTodosNomes();
            produtoBindingSource.Position   = produtoBindingSource.List.IndexOf(new ProdutoNome()
            {
                CodProduto = entradaProduto.CodProduto
            });
            frmProduto.Dispose();
        }
コード例 #2
0
        public void InserirEntradaProduto(EntradaProduto entradaProduto)
        {
            sb      = new StringBuilder();
            conexao = new ConexaoBanco();

            sb.Append("INSERT INTO tblEntradaProduto(DataEntrada,DataDocumento,NumeroDocumento,NumeroSerie,");
            sb.Append("CodigoFornecedor,ValorFrete,OutrasDespesas,Desconto,TotaldaNota)VALUES('");

            sb.Append(entradaProduto._DataEntrada + "','" + entradaProduto._DataDocumento + "','");
            sb.Append(entradaProduto._NumeroDocumento + "','" + entradaProduto._NumeroSerie + "','");
            sb.Append(entradaProduto.H_Fornecedor._CodigoFornecedor + "','");
            sb.Append(entradaProduto._ValorFrete + "','" + entradaProduto._OutrasDespesas + "','");
            sb.Append(entradaProduto._Desconto + "','" + entradaProduto._TotalNotaFiscal + "')");

            conexao.manterCRUD(sb.ToString());
        }
コード例 #3
0
        // Pega o ID da entrada
        public SingleResponse <EntradaProduto> GetEntradaID(EntradaProduto entradaProduto)
        {
            SingleResponse <EntradaProduto> response = new SingleResponse <EntradaProduto>();

            // responsável por realizar conexão física com o banco
            SqlConnection connection = new SqlConnection();

            connection.ConnectionString = ConnectionString.GetConnectionString();

            SqlCommand command = new SqlCommand();

            command.CommandText = "SELECT IDENT_CURRENT ('ENTRADAPRODUTOS') AS CURRENT_ID"; //ID FROM ENTRADAPRODUTOS WHERE VALOR = @VALOR AND DATAENTRADA = @DATAENTRADA AND FUNCIONARIOID = @FUNCIONARIOID AND FORNECEDORID = @FORNECEDORID

            command.Connection = connection;

            try
            {
                connection.Open();

                SqlDataReader reader = command.ExecuteReader();

                if (reader.Read())
                {
                    response.Success  = true;
                    entradaProduto.ID = Convert.ToInt32(reader["CURRENT_ID"]);
                    response.Data     = entradaProduto;
                }
                else
                {
                    response.Success = false;
                    response.Message = "Funcionário(a) não encontrado(a)!";
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Success        = false;
                response.Message        = "Erro no Banco de Dados, contate um ADM!";
                response.StackTrace     = ex.StackTrace;
                response.ExceptionError = ex.Message;
            }
            finally
            {
                connection.Close();
            }
            return(response);
        }
コード例 #4
0
        private void atualizaValores()
        {
            EntradaProduto entradaProduto = (EntradaProduto)entradaProdutoBindingSource.Current;

            entradaProduto.ValorTotal = Convert.ToDecimal(valorTotalTextBox.Text);

            if ((entradaProduto.ValorTotal > 0) && valorTotalTextBox.Focused)
            {
                entradaProduto.ValorUnitario = entradaProduto.ValorTotal / entradaProduto.Quantidade;
                valorUnitarioTextBox.Text    = entradaProduto.ValorUnitario.ToString("N3");
            }
            valorTotalTextBox.Text = (entradaProduto.ValorUnitario * entradaProduto.Quantidade).ToString("N2");

            entradaProduto.Icms           = Convert.ToDecimal(icmsTextBox.Text);
            entradaProduto.IcmsSubstituto = Convert.ToDecimal(icms_substitutoTextBox.Text);
            entradaProduto.Ipi            = Convert.ToDecimal(ipiTextBox.Text);
            entradaProduto.Frete          = Convert.ToDecimal(freteTextBox.Text);
            entradaProduto.Desconto       = Convert.ToDecimal(descontoProdutoTextBox.Text);

            entradaProduto.ValorICMSST = entradaProduto.ValorTotal * entradaProduto.IcmsSubstituto / 100;

            entradaProduto.LucroPrecoVendaVarejo  = Convert.ToDecimal(lucroPrecoVendaVarejoTextBox.Text);
            entradaProduto.LucroPrecoVendaAtacado = Convert.ToDecimal(lucroPrecoVendaAtacadoTextBox.Text);

            entradaProduto.CodCST = codCSTComboBox.SelectedValue.ToString();
            entradaProduto.QuantidadeEmbalagem = Convert.ToDecimal(quantidadeEmbalagemTextBox.Text);

            if (entradaProduto.QuantidadeEmbalagem <= 0)
            {
                throw new TelaException("A quantidade de produtos da embalagem deve ser maior ou igual a 1.");
            }

            Produto _produto = (Produto)produtoBindingSource.Current;

            _produto.UltimoPrecoCompra = entradaProduto.ValorUnitario / entradaProduto.QuantidadeEmbalagem;
            _produto.Icms                    = entradaProduto.Icms;
            _produto.Simples                 = entradaProduto.Simples;
            _produto.Ipi                     = entradaProduto.Ipi;
            _produto.CodCST                  = codCSTComboBox.SelectedValue.ToString();
            _produto.Frete                   = entradaProduto.Frete;
            _produto.Desconto                = entradaProduto.Desconto;
            entradaProduto.PrecoCusto        = _produto.PrecoCusto;
            _produto.LucroPrecoVendaVarejo   = Convert.ToDecimal(lucroPrecoVendaVarejoTextBox.Text);
            _produto.LucroPrecoVendaAtacado  = Convert.ToDecimal(lucroPrecoVendaAtacadoTextBox.Text);
            precoVarejoSugestaoTextBox.Text  = _produto.PrecoVendaVarejoSugestao.ToString("N3");
            precoAtacadoSugestaoTextBox.Text = _produto.PrecoVendaAtacadoSugestao.ToString("N3");
        }
コード例 #5
0
        private void GravarEntradaMercadorias()
        {
            try
            {
                if (txtNomeFornecedor.Text.Trim() == string.Empty)
                {
                    txtNomeFornecedor.Focus();
                    throw (new Exception("Selecione o fornecedor"));
                }

                entradaProduto.H_Fornecedor._CodigoFornecedor = Convert.ToInt32(txtNomeFornecedor.SelectedValue);
                entradaProduto._DataEntrada     = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy"));
                entradaProduto._DataDocumento   = Convert.ToDateTime(txtDataEmissao.Text);
                entradaProduto._Desconto        = Convert.ToDecimal("0,00");
                entradaProduto._NumeroDocumento = int.Parse(txtNNotaFiscal.Text);
                entradaProduto._NumeroSerie     = int.Parse("0");
                entradaProduto._OutrasDespesas  = Convert.ToDecimal("0,00");
                entradaProduto._TotalNotaFiscal = vlrTotalEntrada;
                entradaProduto._ValorFrete      = Convert.ToDecimal("0,00");

                if (MessageBox.Show("Deseja salvar esta entrada? ", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    entradaProdutoBO.InserirEntradaProduto(entradaProduto);

                    entradaProduto = entradaProdutoBO.SelecionaUltimoRegistroEntradaProduto();//pega ultimo orcamento

                    GravarItensEntradaMercadoria();

                    MessageBox.Show("Entrada de mercadoria realizada com com sucesso", "Gravação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (MessageBox.Show("Deseja iniciar uma nova entrada ? ", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        LimpaCampos();
                        LimparCamposBox(this);
                    }
                    else
                    {
                        this.Close();
                    }
                }
            }
            catch (Exception msg)
            {
                MessageBox.Show(msg.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
コード例 #6
0
        private void codProdutoComboBox_Leave(object sender, EventArgs e)
        {
            ProdutoPesquisa produtoPesquisa = ComponentesLeave.ProdutoComboBox_Leave(sender, e, codProdutoComboBox, EstadoFormulario.INSERIR_DETALHE, produtoBindingSource, true);
            EntradaProduto  entradaProduto  = (EntradaProduto)entradaProdutoBindingSource.Current;

            if (produtoPesquisa.CodProduto != 1)
            {
                entradaProduto.QuantidadeEmbalagem    = produtoPesquisa.QuantidadeEmbalagem;
                entradaProduto.QtdProdutoAtacado      = produtoPesquisa.QtdProdutoAtacado;
                entradaProduto.LucroPrecoRevenda      = produtoPesquisa.LucroPrecoRevenda;
                entradaProduto.LucroPrecoVendaAtacado = produtoPesquisa.LucroPrecoVendaAtacado;
                entradaProduto.LucroPrecoVendaVarejo  = produtoPesquisa.LucroPrecoVendaVarejo;
                entradaProduto.PrecoVendaVarejo       = produtoPesquisa.PrecoVendaVarejo;
                entradaProduto.PrecoVendaAtacado      = produtoPesquisa.PrecoVendaAtacado;
                entradaProduto.PrecoRevenda           = produtoPesquisa.PrecoRevenda;
                entradaProdutoBindingSource.ResumeBinding();
            }
        }
コード例 #7
0
        /// <summary>
        /// Atualiza os dados de um produto na entrada
        /// </summary>
        /// <param name="entradaProduto"></param>
        public void Atualizar(EntradaProduto entradaProduto)
        {
            try
            {
                var query = from entradaProdutoE in saceContext.EntradaProdutoSet
                            where entradaProdutoE.codEntradaProduto == entradaProduto.CodEntradaProduto
                            select entradaProdutoE;

                foreach (EntradaProdutoE _entradaProdutoE in query)
                {
                    Atribuir(entradaProduto, _entradaProdutoE);
                }
                repEntradaProduto.SaveChanges();
            }
            catch (Exception e)
            {
                throw new DadosException("EntradaProduto", e.Message, e);
            }
        }
コード例 #8
0
        /// <summary>
        /// REmove um produto de uma entrada
        /// </summary>
        /// <param name="codEntradaProduto"></param>
        public void Remover(EntradaProduto entradaProduto, int codTipoEntrada)
        {
            try
            {
                repEntradaProduto.Remover(ep => ep.codEntradaProduto == entradaProduto.CodEntradaProduto);
                repEntradaProduto.SaveChanges();

                // Decrementa o estoque na loja principal
                GerenciadorProdutoLoja.GetInstance(saceContext).AdicionaQuantidade((entradaProduto.Quantidade * entradaProduto.QuantidadeEmbalagem * (-1)), 0, Global.LOJA_PADRAO, entradaProduto.CodProduto);
            }
            catch (Exception e)
            {
                throw new DadosException("EntradaProduto", e.Message, e);
            }
            finally
            {
                saceContext.Connection.Close();
            }
        }
コード例 #9
0
        private void codProdutoComboBox_Leave(object sender, EventArgs e)
        {
            if (estado.Equals(EstadoFormulario.INSERIR_DETALHE))
            {
                produtoPesquisa = ComponentesLeave.ProdutoComboBox_Leave(sender, e, codProdutoComboBox, estado, produtoBindingSource, true);

                EntradaProduto entradaProduto = (EntradaProduto)entradaProdutoBindingSource.Current;
                if (produtoPesquisa != null)
                {
                    data_validadeDateTimePicker.Enabled = produtoPesquisa.TemVencimento;
                    entradaProduto.NomeProduto          = produtoPesquisa.Nome;
                    if (produtoPesquisa.QuantidadeEmbalagem <= 0)
                    {
                        quantidadeEmbalagemTextBox.Text = "1";
                    }
                    if (entradaProduto.Quantidade <= 0)
                    {
                        quantidadeTextBox.Text = "1";
                    }
                    if (entradaProduto.ValorUnitario <= 0)
                    {
                        entradaProduto.ValorUnitario = produtoPesquisa.UltimoPrecoCompra;
                    }
                    if (!produtoPesquisa.EhTributacaoIntegral)
                    {
                        produtoPesquisa = (ProdutoPesquisa)produtoBindingSource.Current;
                        entrada         = (Entrada)entradaBindingSource.Current;
                        if (entrada.TotalProdutosST > 0)
                        {
                            produtoPesquisa.IcmsSubstituto = Math.Round(entrada.TotalSubstituicao / entrada.TotalProdutosST * 100, 2);
                        }
                        else
                        {
                            produtoPesquisa.IcmsSubstituto = 0;
                        }
                    }
                    cfopComboBox.SelectedIndex = 0;
                    codCSTComboBox_SelectedIndexChanged(sender, e);
                    codEntradaTextBox_Leave(sender, e);
                }
            }
        }
コード例 #10
0
        private void FrmEntrada_Load(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;

            GerenciadorSeguranca.getInstance().verificaPermissao(this, Global.ENTRADA_PRODUTOS, Principal.Autenticacao.CodUsuario);
            produtoBindingSource.DataSource            = GerenciadorProduto.GetInstance().ObterTodos();
            fornecedorBindingSource.DataSource         = GerenciadorPessoa.GetInstance().ObterTodos();
            empresaFreteBindingSource.DataSource       = GerenciadorPessoa.GetInstance().ObterTodos();
            cfopBindingSource.DataSource               = GerenciadorCfop.GetInstance().ObterTodos();
            cstBindingSource.DataSource                = GerenciadorCst.GetInstance().ObterTodos();
            entradaBindingSource.DataSource            = GerenciadorEntrada.GetInstance().ObterTodos();
            situacaoPagamentosBindingSource.DataSource = GerenciadorEntrada.GetInstance().ObterTodosSituacoesPagamentos();
            entradaBindingSource.MoveLast();
            entrada        = new Entrada();
            entradaProduto = new EntradaProduto();
            tipoEntrada    = Entrada.TIPO_ENTRADA;
            habilitaBotoes(true);

            Cursor.Current = Cursors.Default;
        }
コード例 #11
0
 /// <summary>
 /// Atribui a entidade para entidade persistente
 /// </summary>
 /// <param name="entradaProduto"></param>
 /// <param name="_entradaProdutoE"></param>
 private static void Atribuir(EntradaProduto entradaProduto, EntradaProdutoE _entradaProdutoE)
 {
     _entradaProdutoE.baseCalculoICMS   = entradaProduto.BaseCalculoICMS;
     _entradaProdutoE.baseCalculoICMSST = entradaProduto.BaseCalculoICMSST;
     _entradaProdutoE.cfop                  = entradaProduto.Cfop;
     _entradaProdutoE.codCST                = entradaProduto.CodCST;
     _entradaProdutoE.codEntrada            = entradaProduto.CodEntrada;
     _entradaProdutoE.codEntradaProduto     = entradaProduto.CodEntradaProduto;
     _entradaProdutoE.codProduto            = entradaProduto.CodProduto;
     _entradaProdutoE.data_validade         = entradaProduto.DataValidade;
     _entradaProdutoE.desconto              = entradaProduto.Desconto;
     _entradaProdutoE.preco_custo           = entradaProduto.PrecoCusto;
     _entradaProdutoE.quantidade            = entradaProduto.Quantidade;
     _entradaProdutoE.quantidadeEmbalagem   = entradaProduto.QuantidadeEmbalagem == 0 ? 1 : entradaProduto.QuantidadeEmbalagem;
     _entradaProdutoE.quantidade_disponivel = entradaProduto.QuantidadeDisponivel;
     _entradaProdutoE.unidadeCompra         = entradaProduto.UnidadeCompra;
     _entradaProdutoE.valorICMS             = entradaProduto.ValorICMS;
     _entradaProdutoE.valorICMSST           = entradaProduto.ValorICMSST;
     _entradaProdutoE.valorIPI              = entradaProduto.ValorIPI;
     _entradaProdutoE.valorTotal            = entradaProduto.ValorTotal;
     _entradaProdutoE.valorUnitario         = entradaProduto.ValorUnitario;
 }
コード例 #12
0
        // Insere uma entrada
        public SingleResponse <EntradaProduto> InsertEntrada(EntradaProduto entradaProduto)
        {
            SingleResponse <EntradaProduto> response = new SingleResponse <EntradaProduto>();

            SqlConnection connection = new SqlConnection();

            connection.ConnectionString = ConnectionString.GetConnectionString();

            SqlCommand command = new SqlCommand();

            command.CommandText = "INSERT INTO ENTRADAPRODUTOS (DATAENTRADA, VALOR, FUNCIONARIOID, FORNECEDORID) VALUES (@DATAENTRADA, @VALOR, @FUNCIONARIOID, @FORNECEDORID)";
            command.Parameters.AddWithValue("@DATAENTRADA", entradaProduto.DataEntrada);
            command.Parameters.AddWithValue("@VALOR", entradaProduto.Valor);
            command.Parameters.AddWithValue("@FUNCIONARIOID", entradaProduto.FuncionarioID);
            command.Parameters.AddWithValue("@FORNECEDORID", entradaProduto.FornecedorID);

            command.Connection = connection;

            try
            {
                connection.Open();
                command.ExecuteNonQuery();
                response.Success = true;
                response.Message = "Item(ns) cadastrado(s) com sucesso!";
            }
            catch (Exception ex)
            {
                response.Success        = false;
                response.Message        = "Erro no Banco de Dados, contate um ADM!";
                response.StackTrace     = ex.StackTrace;
                response.ExceptionError = ex.Message;
            }
            finally
            {
                connection.Close();
            }
            return(response);
        }
コード例 #13
0
        private bool ConsultaEntradaProdutoCodFornecedor(int cod)
        {
            bool resp = false;

            if (cod > 0)
            {
                EntradaProduto   entradaProduto   = new EntradaProduto();
                EntradaProdutoBO entradaProdutoBO = new EntradaProdutoBO();

                entradaProduto = entradaProdutoBO.SelecinaEntradaCodigoFornecedor(cod);

                if (entradaProduto != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            return(resp);
        }
コード例 #14
0
        /// <summary>
        /// Insere uma novo produto na entrada
        public Int64 Inserir(EntradaProduto entradaProduto, int codTipoEntrada)
        {
            if (entradaProduto.Quantidade == 0)
            {
                throw new NegocioException("A quantidade do produto não pode ser igual a zero.");
            }
            else if (entradaProduto.PrecoVendaVarejo <= 0)
            {
                throw new NegocioException("O preço de venda deve ser maior que zero.");
            }
            else if (entradaProduto.QuantidadeEmbalagem <= 0)
            {
                throw new NegocioException("A quantidade de produtos em cada embalagem deve ser maior que zero.");
            }

            Produto produto = GerenciadorProduto.GetInstance().Obter(new ProdutoPesquisa()
            {
                CodProduto = entradaProduto.CodProduto
            });

            Cst cstEntrada = new Cst()
            {
                CodCST = entradaProduto.CodCST
            };

            bool ehTributacaoIntegral = cstEntrada.EhTributacaoIntegral;

            if (!produto.EhTributacaoIntegral && ehTributacaoIntegral)
            {
                throw new NegocioException("Esse produto não pode voltar a ser tributação Normal. Favor colocar CST com Substituição Tributária e CUIDADO no cálculo do preço. Verifique se o o DAE de encerramento de fase da nota já chegou.");
            }

            if (ehTributacaoIntegral && (entradaProduto.Icms <= 0))
            {
                throw new NegocioException("O campo % CRED ICMS não pode ser menor ou igual a zero quando o produto possui tributação normal.");
            }
            else if ((ehTributacaoIntegral == false) && (entradaProduto.IcmsSubstituto <= 0) &&
                     (!entradaProduto.CodCST.Substring(1).Equals(Cst.ST_SUBSTITUICAO_ICMS_COBRADO)) && !cstEntrada.EhTributacaoSimples)
            {
                throw new NegocioException("O campo % ICMS ST não pode ser menor ou igual a zero quando o produto possui substituição tributária.");
            }


            //if (entradaProduto.CodCST.Length > 3)
            //{
            //    entradaProduto.CodCST = entradaProduto.CodCST.Substring(1);
            //}

            try
            {
                EntradaProdutoE _entradaProdutoE = new EntradaProdutoE();
                Atribuir(entradaProduto, _entradaProdutoE);

                saceContext.AddToEntradaProdutoSet(_entradaProdutoE);
                saceContext.SaveChanges();

                if ((codTipoEntrada == Entrada.TIPO_ENTRADA) || (codTipoEntrada == Entrada.TIPO_ENTRADA_AUX))
                {
                    // Incrementa o estoque na loja principal
                    GerenciadorProdutoLoja.GetInstance(saceContext).AdicionaQuantidade((entradaProduto.Quantidade * entradaProduto.QuantidadeEmbalagem), 0, Global.LOJA_PADRAO, entradaProduto.CodProduto);

                    Atribuir(entradaProduto, produto);
                    produto.CodSituacaoProduto = SituacaoProduto.DISPONIVEL;
                    produto.ExibeNaListagem    = true;

                    // Atualiza os dados do produto se não foi na entrada padrão
                    if (entradaProduto.CodEntrada != Global.ENTRADA_PADRAO)
                    {
                        GerenciadorProduto.GetInstance().Atualizar(produto);
                    }
                }
                return(_entradaProdutoE.codEntrada);
            }
            catch (Exception e)
            {
                throw new DadosException("EntradaProduto", e.Message, e);
            }
        }
コード例 #15
0
        /// <summary>
        /// Importa os produtos de uma Nfe
        /// </summary>
        /// <param name="nfe"></param>
        public List <EntradaProduto> Importar(TNfeProc nfe)
        {
            const string VERSAO2 = "2.00";
            const string VERSAO3 = "3.10";
            const string VERSAO4 = "4.00";

            try
            {
                CultureInfo           ci                 = new CultureInfo("en-US"); // usado para connversão dos números do xml
                string                numeroNF           = nfe.NFe.infNFe.ide.nNF;
                string                versaoNF           = nfe.NFe.infNFe.versao;
                string                cpf_cnpjFornecedor = nfe.NFe.infNFe.emit.Item;
                IEnumerable <Entrada> entradas           = GerenciadorEntrada.GetInstance().ObterPorNumeroNotaFiscalFornecedor(numeroNF, cpf_cnpjFornecedor);
                if (entradas.Count() == 0)
                {
                    throw new NegocioException("A entrada não foi encontrada para realizar o cadastro de produtos");
                }
                Entrada entrada = entradas.ElementAtOrDefault(0);
                List <EntradaProduto> listaProtutos = new List <EntradaProduto>();
                foreach (TNFeInfNFeDet produto in nfe.NFe.infNFe.det)
                {
                    EntradaProduto entradaProduto = new EntradaProduto();
                    entradaProduto.Cfop          = Convert.ToInt32(produto.prod.CFOP);
                    entradaProduto.CodEntrada    = entrada.CodEntrada;
                    entradaProduto.CodFornecedor = entrada.CodFornecedor;
                    ProdutoPesquisa produtoPesquisa = null;
                    if (!string.IsNullOrEmpty(produto.prod.cEAN))
                    {
                        produtoPesquisa = GerenciadorProduto.GetInstance().ObterPorCodigoBarraExato(produto.prod.cEAN).ElementAtOrDefault(0);
                    }

                    entradaProduto.CodProduto             = (produtoPesquisa != null) ? produtoPesquisa.CodProduto : 1;
                    entradaProduto.DataEntrada            = entrada.DataEntrada;
                    entradaProduto.FornecedorEhFabricante = entrada.FornecedorEhFabricante;
                    if (entrada.ValorFrete > 0)
                    {
                        entradaProduto.Frete = ((entrada.ValorFrete / entrada.TotalProdutos) * 100);
                    }
                    else
                    {
                        entradaProduto.Frete = 0;
                    }
                    entradaProduto.Ncmsh       = produto.prod.NCM;
                    entradaProduto.NomeProduto = produto.prod.xProd.Length > 50 ? produto.prod.xProd.Substring(0, 50).ToUpper() : produto.prod.xProd.ToUpper();

                    entradaProduto.Quantidade          = Convert.ToDecimal(produto.prod.qCom, ci);
                    entradaProduto.QuantidadeEmbalagem = (produtoPesquisa == null) ? 1 : produtoPesquisa.QuantidadeEmbalagem;
                    entradaProduto.Simples             = (produtoPesquisa == null) ? 8 : produtoPesquisa.Simples;
                    entradaProduto.UnidadeCompra       = produto.prod.uCom;
                    entradaProduto.ValorDesconto       = Convert.ToDecimal(produto.prod.vDesc, ci);
                    entradaProduto.ValorUnitario       = Convert.ToDecimal(produto.prod.vUnCom, ci);
                    entradaProduto.Desconto            = Convert.ToDecimal(produto.prod.vDesc, ci) / entradaProduto.ValorTotal * 100;
                    entradaProduto.CodigoBarra         = produto.prod.cEAN;



                    entradaProduto.ReferenciaFabricante = produto.prod.cProd;

                    for (int i = 0; i < produto.imposto.Items.Length; i++)
                    {
                        if (produto.imposto.Items[i] is TNFeInfNFeDetImpostoICMS)
                        {
                            var icms = ((TNFeInfNFeDetImpostoICMS)produto.imposto.Items[i]).Item;
                            if (icms is TNFeInfNFeDetImpostoICMSICMS00)
                            {
                                TNFeInfNFeDetImpostoICMSICMS00 icms00 = ((TNFeInfNFeDetImpostoICMSICMS00)icms);;
                                entradaProduto.BaseCalculoICMS   = Convert.ToDecimal(icms00.vBC, ci);
                                entradaProduto.BaseCalculoICMSST = 0;
                                entradaProduto.CodCST            = icms00.orig.ToString().Substring(4) + icms00.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms00.orig.ToString().Substring(4) + icms00.CST.ToString().Substring(4);
                                entradaProduto.Icms           = Convert.ToDecimal(icms00.pICMS, ci);
                                entradaProduto.IcmsSubstituto = 0;
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS10)
                            {
                                TNFeInfNFeDetImpostoICMSICMS10 icms10 = ((TNFeInfNFeDetImpostoICMSICMS10)icms);;
                                entradaProduto.BaseCalculoICMS   = Convert.ToDecimal(icms10.vBC, ci);
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms10.vBCST, ci);
                                entradaProduto.CodCST            = icms10.orig.ToString().Substring(4) + icms10.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms10.orig.ToString().Substring(4) + icms10.CST.ToString().Substring(4);
                                entradaProduto.Icms = Convert.ToDecimal(icms10.pICMS, ci);
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100; //Convert.ToDecimal(icms10.pICMSST, ci);
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS20)
                            {
                                TNFeInfNFeDetImpostoICMSICMS20 icms20 = ((TNFeInfNFeDetImpostoICMSICMS20)icms);;
                                entradaProduto.BaseCalculoICMS   = Convert.ToDecimal(icms20.vBC, ci);
                                entradaProduto.BaseCalculoICMSST = 0;
                                entradaProduto.CodCST            = icms20.orig.ToString().Substring(4) + icms20.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms20.orig.ToString().Substring(4) + icms20.CST.ToString().Substring(4);
                                entradaProduto.Icms           = Convert.ToDecimal(icms20.pICMS, ci);
                                entradaProduto.IcmsSubstituto = 0; //Convert.ToDecimal(icms10.pICMSST, ci);
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS30)
                            {
                                TNFeInfNFeDetImpostoICMSICMS30 icms30 = ((TNFeInfNFeDetImpostoICMSICMS30)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms30.vBCST, ci);
                                entradaProduto.CodCST            = icms30.orig.ToString().Substring(4) + icms30.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms30.orig.ToString().Substring(4) + icms30.CST.ToString().Substring(4);
                                entradaProduto.Icms = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100; //Convert.ToDecimal(icms10.pICMSST, ci);
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS40)
                            {
                                TNFeInfNFeDetImpostoICMSICMS40 icms40 = ((TNFeInfNFeDetImpostoICMSICMS40)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = 0;
                                entradaProduto.CodCST            = icms40.orig.ToString().Substring(4) + icms40.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms40.orig.ToString().Substring(4) + icms40.CST.ToString().Substring(4);
                                entradaProduto.Icms = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100; //Convert.ToDecimal(icms10.pICMSST, ci);
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS60)
                            {
                                TNFeInfNFeDetImpostoICMSICMS60 icms60 = ((TNFeInfNFeDetImpostoICMSICMS60)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms60.vBCSTRet, ci);
                                entradaProduto.CodCST            = icms60.orig.ToString().Substring(4) + icms60.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms60.orig.ToString().Substring(4) + icms60.CST.ToString().Substring(4);
                                entradaProduto.Icms = Convert.ToDecimal(icms60.vICMSSTRet, ci);
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100; //Convert.ToDecimal(icms10.pICMSST, ci);
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMS70)
                            {
                                TNFeInfNFeDetImpostoICMSICMS70 icms70 = ((TNFeInfNFeDetImpostoICMSICMS70)icms);;
                                entradaProduto.BaseCalculoICMS   = Convert.ToDecimal(icms70.vBC, ci);
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms70.vBCST, ci);
                                entradaProduto.CodCST            = icms70.orig.ToString().Substring(4) + icms70.CST.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms70.orig.ToString().Substring(4) + icms70.CST.ToString().Substring(4);
                                entradaProduto.Icms = Convert.ToDecimal(icms70.pICMS, ci);
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100; //Convert.ToDecimal(icms10.pICMSST, ci);
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN101)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN101 icms101 = ((TNFeInfNFeDetImpostoICMSICMSSN101)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = 0;
                                entradaProduto.CodCST            = icms101.orig.ToString().Substring(4) + icms101.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms101.orig.ToString().Substring(4) + icms101.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms           = Convert.ToDecimal(icms101.pCredSN, ci);
                                entradaProduto.IcmsSubstituto = 0;
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN102)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN102 icms102 = ((TNFeInfNFeDetImpostoICMSICMSSN102)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = 0;
                                entradaProduto.CodCST            = icms102.orig.ToString().Substring(4) + icms102.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms102.orig.ToString().Substring(4) + icms102.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms           = 0;
                                entradaProduto.IcmsSubstituto = 0;
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN900)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN900 icms900 = ((TNFeInfNFeDetImpostoICMSICMSSN900)icms);;
                                entradaProduto.BaseCalculoICMS   = Convert.ToDecimal(icms900.vBC, ci);
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms900.vBCST, ci);
                                entradaProduto.CodCST            = icms900.orig.ToString().Substring(4) + icms900.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms900.orig.ToString().Substring(4) + icms900.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms           = Convert.ToDecimal(icms900.pICMS, ci);
                                entradaProduto.IcmsSubstituto = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100;
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN201)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN201 icms201 = ((TNFeInfNFeDetImpostoICMSICMSSN201)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms201.vBCST, ci);
                                entradaProduto.CodCST            = icms201.orig.ToString().Substring(4) + icms201.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms201.orig.ToString().Substring(4) + icms201.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100;
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN202)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN202 icms202 = ((TNFeInfNFeDetImpostoICMSICMSSN202)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms202.vBCST, ci);
                                entradaProduto.CodCST            = icms202.orig.ToString().Substring(4) + icms202.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms202.orig.ToString().Substring(4) + icms202.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100;
                                }
                            }
                            else if (icms is TNFeInfNFeDetImpostoICMSICMSSN500)
                            {
                                TNFeInfNFeDetImpostoICMSICMSSN500 icms500 = ((TNFeInfNFeDetImpostoICMSICMSSN500)icms);;
                                entradaProduto.BaseCalculoICMS   = 0;
                                entradaProduto.BaseCalculoICMSST = Convert.ToDecimal(icms500.vBCSTRet, ci);
                                entradaProduto.CodCST            = icms500.orig.ToString().Substring(4) + icms500.CSOSN.ToString().Substring(4);
                                entradaProduto.CodCSTNFe         = icms500.orig.ToString().Substring(4) + icms500.CSOSN.ToString().Substring(4);
                                entradaProduto.Icms = 0;
                                if (entrada.TotalProdutosST > 0)
                                {
                                    entradaProduto.IcmsSubstituto = entrada.TotalSubstituicao / entrada.TotalProdutosST * 100;
                                }
                            }

                            else
                            {
                                throw new NegocioException("Existe um imposto ICMS não tratado pela importação. Avise ao administrador.");
                            }
                        }
                        else if (versaoNF.Equals(VERSAO2))
                        {
                            if (produto.imposto.Items[i] is Dominio.NFE2.TNFeInfNFeDetImpostoIPI)
                            {
                                Dominio.NFE2.TNFeInfNFeDetImpostoIPI impostoIPI = (Dominio.NFE2.TNFeInfNFeDetImpostoIPI)produto.imposto.Items[i];

                                if (impostoIPI.Item is Dominio.NFE2.TNFeInfNFeDetImpostoIPIIPITrib)
                                {
                                    Dominio.NFE2.TNFeInfNFeDetImpostoIPIIPITrib ipiTrib = ((Dominio.NFE2.TNFeInfNFeDetImpostoIPIIPITrib)impostoIPI.Item);
                                    entradaProduto.Ipi = Convert.ToDecimal(ipiTrib.vIPI, ci) / entradaProduto.ValorTotal * 100;
                                }
                            }
                        }
                        else if (versaoNF.Equals(VERSAO3) || versaoNF.Equals(VERSAO4))
                        {
                            if (produto.imposto.Items[i] is TIpi)
                            {
                                TIpi ipi = (TIpi)produto.imposto.Items[i];
                                if (ipi.Item is TIpiIPITrib)
                                {
                                    TIpiIPITrib impostoIPI = (TIpiIPITrib)ipi.Item;
                                    entradaProduto.Ipi = Convert.ToDecimal(impostoIPI.vIPI, ci) / entradaProduto.ValorTotal * 100;
                                }
                                else
                                {
                                    entradaProduto.Ipi = 0;
                                }
                            }
                        }
                    }

                    Produto produtoCalculo = new Produto()
                    {
                        Desconto          = entradaProduto.Desconto,
                        Icms              = entradaProduto.Icms,
                        IcmsSubstituto    = entradaProduto.IcmsSubstituto,
                        Ipi               = entradaProduto.Ipi,
                        Frete             = entradaProduto.Frete,
                        Simples           = entradaProduto.Simples,
                        UltimoPrecoCompra = (entradaProduto.ValorUnitario / entradaProduto.QuantidadeEmbalagem)
                    };

                    entradaProduto.PrecoCusto = produtoCalculo.PrecoCusto;

                    if (produtoPesquisa == null)
                    {
                        entradaProduto.LucroPrecoRevenda      = 15;
                        entradaProduto.LucroPrecoVendaAtacado = 30;
                        entradaProduto.LucroPrecoVendaVarejo  = 35;
                        entradaProduto.QtdProdutoAtacado      = 0;
                    }
                    else
                    {
                        entradaProduto.LucroPrecoRevenda      = produtoPesquisa.LucroPrecoRevenda;
                        entradaProduto.LucroPrecoVendaAtacado = produtoPesquisa.LucroPrecoVendaAtacado;
                        entradaProduto.LucroPrecoVendaVarejo  = produtoPesquisa.LucroPrecoVendaVarejo;
                        entradaProduto.QtdProdutoAtacado      = produtoPesquisa.QtdProdutoAtacado;
                    }

                    produtoCalculo.LucroPrecoRevenda      = entradaProduto.LucroPrecoRevenda;
                    produtoCalculo.LucroPrecoVendaAtacado = entradaProduto.LucroPrecoVendaAtacado;
                    produtoCalculo.LucroPrecoVendaVarejo  = entradaProduto.LucroPrecoVendaVarejo;

                    entradaProduto.PrecoRevendaSugestao      = produtoCalculo.PrecoRevendaSugestao;
                    entradaProduto.PrecoVendaAtacadoSugestao = produtoCalculo.PrecoVendaAtacadoSugestao;
                    entradaProduto.PrecoVendaVarejoSugestao  = produtoCalculo.PrecoVendaVarejoSugestao;

                    if (produtoPesquisa == null)
                    {
                        entradaProduto.PrecoRevenda      = entradaProduto.PrecoRevendaSugestao;
                        entradaProduto.PrecoVendaAtacado = entradaProduto.PrecoVendaAtacadoSugestao;
                        entradaProduto.PrecoVendaVarejo  = entradaProduto.PrecoVendaVarejoSugestao;
                    }
                    else
                    {
                        entradaProduto.PrecoRevenda      = produtoPesquisa.PrecoRevenda;
                        entradaProduto.PrecoVendaAtacado = produtoPesquisa.PrecoVendaAtacado;
                        entradaProduto.PrecoVendaVarejo  = produtoPesquisa.PrecoVendaVarejo;
                    }

                    listaProtutos.Add(entradaProduto);
                }

                return(listaProtutos);
            }
            catch (Exception e)
            {
                throw new NegocioException("Problema durante a importação dos dados dos Produtos da NF-e. Favor contactar administrador.", e);
            }
        }
コード例 #16
0
        public static string SalvarPedido(DateTime data, Dictionary <int, int> produtos, string nomeTabela, bool entrada)
        {
            var ret = "";
            int idLocalArmazenamento = 0;

            try
            {
                var numPedido        = "";
                var numPedidoCalculo = 0;
                if (nomeTabela.Equals("entrada_produto"))
                {
                    EntradaProduto resultadoConsulta = null;

                    var quantidadeEntradas = ctx.EntradasProdutos.Count();
                    if (quantidadeEntradas > 0)
                    {
                        resultadoConsulta = ctx.EntradasProdutos.OrderByDescending(x => x.Id).Take(1).Single();
                        numPedidoCalculo  = (Convert.ToInt32(resultadoConsulta.Numero) + 1);
                        numPedido         = numPedidoCalculo.ToString();
                    }
                    else
                    {
                        numPedido = Convert.ToString(1);
                    }
                }
                else if (nomeTabela.Equals("saida_produto"))
                {
                    SaidaProduto resultadoConsulta = null;

                    var quantidadeSaidas = ctx.SaidasProdutos.Count();
                    if (quantidadeSaidas > 0)
                    {
                        resultadoConsulta = ctx.SaidasProdutos.OrderByDescending(x => x.Id).Take(1).Single();
                        numPedidoCalculo  = (Convert.ToInt32(resultadoConsulta.Numero) + 1);
                        numPedido         = numPedidoCalculo.ToString();
                    }
                    else
                    {
                        numPedido = Convert.ToString(1);
                    }
                }


                using (var transacao = ctx.Database.BeginTransaction())
                {
                    foreach (var produto in produtos)
                    {
                        if (nomeTabela.Equals("entrada_produto"))
                        {
                            EntradaProduto ep = new EntradaProduto();
                            ep.Numero     = numPedido;
                            ep.Data       = data;
                            ep.IdProduto  = produto.Key;
                            ep.Quantidade = produto.Value;

                            ctx.EntradasProdutos.Add(ep);


                            Produto recuperado = ctx.Produtos.Find(produto.Key);

                            var existingProduto = ctx.Produtos.Include("LocalArmazenamento").FirstOrDefault(x => x.Id == produto.Key);
                            if (existingProduto != null)
                            {
                                ctx.Entry(existingProduto).State = EntityState.Detached;
                            }

                            idLocalArmazenamento = existingProduto.IdLocalArmazenamento;

                            try
                            {
                                ctx.Produtos.Attach(recuperado);
                                recuperado.QuantEstoque     = recuperado.QuantEstoque + produto.Value;
                                ctx.Entry(recuperado).State = EntityState.Modified;
                                ctx.SaveChanges();
                                LocalArmazenamentoDao.AtualizarCapacidadeAtual(idLocalArmazenamento, produto.Value, "Cadastrar");
                            }
                            catch (System.Exception ex)
                            {
                                throw;
                            }
                        }
                        else if (nomeTabela.Equals("saida_produto"))
                        {
                            SaidaProduto ep = new SaidaProduto();
                            ep.Numero     = numPedido;
                            ep.Data       = data;
                            ep.IdProduto  = produto.Key;
                            ep.Quantidade = produto.Value;

                            ctx.SaidasProdutos.Add(ep);


                            Produto recuperado = ctx.Produtos.Find(produto.Key);

                            var existingProduto = ctx.Produtos.Include("LocalArmazenamento").FirstOrDefault(x => x.Id == produto.Key);
                            if (existingProduto != null)
                            {
                                ctx.Entry(existingProduto).State = EntityState.Detached;
                            }

                            idLocalArmazenamento = existingProduto.IdLocalArmazenamento;

                            try
                            {
                                ctx.Produtos.Attach(recuperado);
                                if ((recuperado.QuantEstoque - produto.Value) < 0)
                                {
                                    recuperado.QuantEstoque = 0;
                                }
                                else
                                {
                                    recuperado.QuantEstoque = recuperado.QuantEstoque - produto.Value;
                                }

                                ctx.Entry(recuperado).State = EntityState.Modified;
                                ctx.SaveChanges();
                                LocalArmazenamentoDao.AtualizarCapacidadeAtual(idLocalArmazenamento, produto.Value, "Remover");
                            }
                            catch (System.Exception ex)
                            {
                                throw;
                            }
                        }
                    }

                    transacao.Commit();

                    ret = numPedido;
                }
            }
            catch (Exception ex)
            {
            }

            return(ret);
        }
コード例 #17
0
 public void InserirEntradaProduto(EntradaProduto entradaProduto)
 {
     entradaDao = new EntradaProdutoDAO();
     entradaDao.InserirEntradaProduto(entradaProduto);
 }
コード例 #18
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            entrada = (Entrada)entradaBindingSource.Current;

            GerenciadorEntrada gEntrada = GerenciadorEntrada.GetInstance();

            if (estado.Equals(EstadoFormulario.INSERIR))
            {
                entrada.CodTipoEntrada        = tipoEntrada;
                entrada.CodSituacaoPagamentos = SituacaoPagamentos.ABERTA;
                entrada.CodEntrada            = gEntrada.Inserir(entrada);
                codEntradaTextBox.Text        = entrada.CodEntrada.ToString();
                habilitaBotoes(true);
                btnProdutos.Focus();
            }
            else if (estado.Equals(EstadoFormulario.INSERIR_DETALHE))
            {
                GerenciadorEntradaProduto gEntradaProduto = GerenciadorEntradaProduto.GetInstance(null);
                entradaProduto                        = (EntradaProduto)entradaProdutoBindingSource.Current;
                entradaProduto.CodProduto             = Convert.ToInt32(codProdutoComboBox.SelectedValue.ToString());
                entradaProduto.BaseCalculoICMS        = Convert.ToDecimal(baseCalculoICMSTextBox.Text);
                entradaProduto.BaseCalculoICMSST      = Convert.ToDecimal(baseCalculoICMSSTTextBox.Text);
                entradaProduto.Cfop                   = Convert.ToInt32(cfopComboBox.SelectedValue.ToString());
                entradaProduto.CodCST                 = codCSTComboBox.SelectedValue.ToString();
                entradaProduto.CodEntrada             = entrada.CodEntrada;
                entradaProduto.DataEntrada            = entrada.DataEntrada;
                entradaProduto.DataValidade           = Convert.ToDateTime(data_validadeDateTimePicker.Text);
                entradaProduto.Frete                  = Convert.ToDecimal(freteTextBox.Text);
                entradaProduto.LucroPrecoVendaAtacado = Convert.ToDecimal(lucroPrecoVendaAtacadoTextBox.Text);
                entradaProduto.LucroPrecoVendaVarejo  = Convert.ToDecimal(lucroPrecoVendaVarejoTextBox.Text);
                entradaProduto.PrecoCusto             = Convert.ToDecimal(preco_custoTextBox.Text);
                entradaProduto.PrecoVendaAtacado      = Convert.ToDecimal(precoVendaAtacadoTextBox.Text);
                entradaProduto.PrecoVendaVarejo       = Convert.ToDecimal(precoVendaVarejoTextBox.Text);

                entradaProduto.PrecoRevenda      = Convert.ToDecimal(precoRevendaTextBox.Text);
                entradaProduto.LucroPrecoRevenda = Convert.ToDecimal(lucroPrecoRevendaTextBox.Text);

                entradaProduto.Quantidade           = Convert.ToDecimal(quantidadeTextBox.Text);
                entradaProduto.QuantidadeEmbalagem  = Convert.ToDecimal(quantidadeEmbalagemTextBox.Text);
                entradaProduto.QuantidadeDisponivel = entradaProduto.Quantidade * entradaProduto.QuantidadeEmbalagem;
                entradaProduto.Simples           = Convert.ToDecimal(simplesTextBox.Text);
                entradaProduto.Icms              = Convert.ToDecimal(icmsTextBox.Text);
                entradaProduto.IcmsSubstituto    = Convert.ToDecimal(icms_substitutoTextBox.Text);
                entradaProduto.Ipi               = Convert.ToDecimal(ipiTextBox.Text);
                entradaProduto.Ncmsh             = ncmshTextBox.Text;
                entradaProduto.UnidadeCompra     = unidadeCompraTextBox.Text;
                entradaProduto.ValorUnitario     = Convert.ToDecimal(valorUnitarioTextBox.Text);
                entradaProduto.QtdProdutoAtacado = Convert.ToDecimal(qtdProdutoAtacadoTextBox.Text);
                entradaProduto.Desconto          = Convert.ToDecimal(descontoProdutoTextBox.Text);

                entradaProduto.FornecedorEhFabricante = ((Pessoa)fornecedorBindingSource.Current).EhFabricante;
                entradaProduto.CodFornecedor          = ((Pessoa)fornecedorBindingSource.Current).CodPessoa;

                GerenciadorEntradaProduto.GetInstance(null).Inserir(entradaProduto, entrada.CodTipoEntrada);
                codEntradaTextBox_TextChanged(sender, e);
                btnProdutos_Click(sender, e);
            }
            else
            {
                gEntrada.Atualizar(entrada);
                produtoBindingSource.Position = 0;
                habilitaBotoes(true);
                btnProdutos.Focus();
            }
            entradaBindingSource.EndEdit();
            entradaProdutoBindingSource.EndEdit();
        }
コード例 #19
0
 public FrmProduto(EntradaProduto entradaProduto)
 {
     InitializeComponent();
     ProdutoPesquisa     = null;
     this.entradaProduto = entradaProduto;
 }
コード例 #20
0
        public void ExibirDadosSelecionadasEntradaMercadorias(int cod)
        {
            txtDataEmissao.Enabled     = false;
            txtNNotaFiscal.Enabled     = false;
            txtNomeFornecedor.Enabled  = false;
            txtCodigoBarra.Enabled     = false;
            txtLote.Enabled            = false;
            txtDataVencimento.Enabled  = false;
            txtQtde.Enabled            = false;
            txtPrecoUnitario.Enabled   = false;
            txtSubtotalProduto.Enabled = false;
            edit = true;

            if (cod != null)
            {
                entradaProduto = entradaProdutoBO.SelecinaEntradaProdutoID(cod);

                if (entradaProduto != null)
                {
                    txtNNotaFiscal.Text   = entradaProduto._NumeroDocumento.ToString();
                    txtVlrTotalGeral.Text = entradaProduto._TotalNotaFiscal.ToString("C");
                    txtDataEmissao.Text   = entradaProduto._DataDocumento.ToString("dd/MM/yyyy");

                    CadastroFornecedores   fornecedor   = new CadastroFornecedores();
                    CadastroFornecedoresBO fornecedorBO = new CadastroFornecedoresBO();

                    fornecedor._CodigoFornecedor = entradaProduto.H_Fornecedor._CodigoFornecedor;
                    fornecedor = fornecedorBO.SelecionaFornecedores(fornecedor);

                    txtNomeFornecedor.SelectedValue = fornecedor._CodigoFornecedor;

                    DataTable dt = new DataTable();

                    dt = itemEntradaProdutoBo.CriaDataTableSelecionaItensEntradaMercadoria(cod);

                    if (dt != null)
                    {
                        foreach (DataRow row in dt.Rows)
                        {
                            lwItensEntrada.Items.Add(item.ToString());
                            lwItensEntrada.Items[contLinha].SubItems.Add(row["CodigoProduto"].ToString());

                            produto = new ProdutosTipo();

                            produto = produtoBo.SelectCodProduto(Convert.ToInt32(row["CodigoProduto"]));

                            lwItensEntrada.Items[contLinha].SubItems.Add(produto._CodigoBarra);
                            lwItensEntrada.Items[contLinha].SubItems.Add(produto._DescricaoProduto);

                            lwItensEntrada.Items[contLinha].SubItems.Add(row["Lote"].ToString());
                            lwItensEntrada.Items[contLinha].SubItems.Add(Convert.ToDateTime(row["DataVencimento"]).ToString("dd/MM/yyyy"));
                            lwItensEntrada.Items[contLinha].SubItems.Add(row["Qtde"].ToString());
                            lwItensEntrada.Items[contLinha].SubItems.Add(Convert.ToDecimal(row["PrecoUnitario"]).ToString("C"));
                            lwItensEntrada.Items[contLinha].SubItems.Add(Convert.ToDecimal(row["Subtotal"]).ToString("C"));

                            contLinha++;
                            item++;

                            qtdeProduto      += Convert.ToInt32(row["Qtde"]);
                            vlrTotalUnitario += Convert.ToDecimal(row["PrecoUnitario"]);
                            vlrTotalEntrada  += Convert.ToDecimal(row["Subtotal"]);
                        }

                        SomaTotalizares();
                    }
                }
            }
        }
コード例 #21
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            Entrada entrada = new Entrada();

            entrada.CodEntrada            = Convert.ToInt64(codEntradaTextBox.Text);
            entrada.CodEmpresaFrete       = Convert.ToInt32(codEmpresaFreteComboBox.SelectedValue.ToString());
            entrada.CodFornecedor         = Convert.ToInt32(codFornecedorComboBox.SelectedValue.ToString());
            entrada.CodTipoEntrada        = Entrada.TIPO_PEDIDO_COMPRA;
            entrada.DataEmissao           = Convert.ToDateTime(dataEntradaDateTimePicker.Text);
            entrada.DataEntrada           = Convert.ToDateTime(dataEntradaDateTimePicker.Text);
            entrada.Desconto              = Convert.ToDecimal(descontoTextBox.Text);
            entrada.NumeroNotaFiscal      = DateTime.Now.ToString();
            entrada.OutrasDespesas        = 0;
            entrada.TotalBaseCalculo      = 0;
            entrada.TotalBaseSubstituicao = 0;
            entrada.TotalICMS             = Convert.ToDecimal(totalICMSTextBox.Text);
            entrada.TotalIPI              = 0;
            entrada.TotalNota             = 0;
            entrada.TotalProdutos         = Convert.ToDecimal(totalNotaCalculadoTextBox.Text);
            entrada.TotalProdutosST       = 0;
            entrada.TotalSubstituicao     = 0;
            entrada.ValorFrete            = Convert.ToDecimal(valorFreteTextBox.Text);
            entrada.ValorSeguro           = 0;
            entrada.FretePagoEmitente     = fretePagoEmitenteCheckBox.Checked;
            entrada.CodSituacaoPagamentos = SituacaoPagamentos.ABERTA;

            GerenciadorEntrada gEntrada = GerenciadorEntrada.GetInstance();

            if (estado.Equals(EstadoFormulario.INSERIR))
            {
                entrada.CodSituacaoPagamentos = SituacaoPagamentos.ABERTA;

                entrada.CodEntrada = gEntrada.Inserir(entrada);
                habilitaBotoes(true);
                btnProdutos.Focus();
            }
            else if (estado.Equals(EstadoFormulario.INSERIR_DETALHE))
            {
                GerenciadorEntradaProduto gEntradaProduto = GerenciadorEntradaProduto.GetInstance();
                EntradaProduto            entradaProduto  = new EntradaProduto();
                entradaProduto.CodProduto        = Convert.ToInt32(codProdutoComboBox.SelectedValue.ToString());
                entradaProduto.BaseCalculoICMS   = 0;
                entradaProduto.BaseCalculoICMSST = 0;
                entradaProduto.Cfop                   = 9999;
                entradaProduto.CodCST                 = codCSTComboBox.SelectedValue.ToString();
                entradaProduto.CodEntrada             = entrada.CodEntrada;
                entradaProduto.DataEntrada            = entrada.DataEntrada;
                entradaProduto.DataValidade           = entrada.DataEntrada;
                entradaProduto.Frete                  = Convert.ToDecimal(freteTextBox.Text);
                entradaProduto.LucroPrecoVendaAtacado = Convert.ToDecimal(lucroPrecoVendaAtacadoTextBox.Text);
                entradaProduto.LucroPrecoVendaVarejo  = Convert.ToDecimal(lucroPrecoVendaVarejoTextBox.Text);
                entradaProduto.PrecoCusto             = Convert.ToDecimal(preco_custoTextBox.Text);
                entradaProduto.PrecoVendaAtacado      = Convert.ToDecimal(precoVendaAtacadoTextBox.Text);
                entradaProduto.PrecoVendaVarejo       = Convert.ToDecimal(precoVendaVarejoTextBox.Text);
                entradaProduto.Quantidade             = Convert.ToDecimal(quantidadeTextBox.Text);
                entradaProduto.QuantidadeEmbalagem    = Convert.ToDecimal(quantidadeEmbalagemTextBox.Text);
                entradaProduto.QuantidadeDisponivel   = entradaProduto.Quantidade * entradaProduto.QuantidadeEmbalagem;
                entradaProduto.Simples                = Convert.ToDecimal(simplesTextBox.Text);
                entradaProduto.Icms                   = Convert.ToDecimal(icmsTextBox.Text);
                entradaProduto.IcmsSubstituto         = Convert.ToDecimal(icms_substitutoTextBox.Text);
                entradaProduto.Ipi               = Convert.ToDecimal(ipiTextBox.Text);
                entradaProduto.Ncmsh             = ((Produto)produtoBindingSource.Current).Ncmsh;
                entradaProduto.UnidadeCompra     = unidadeCompraTextBox.Text;
                entradaProduto.ValorICMS         = 0;
                entradaProduto.ValorICMSST       = 0;
                entradaProduto.ValorIPI          = 0;
                entradaProduto.ValorTotal        = Convert.ToDecimal(valorTotalTextBox.Text);
                entradaProduto.ValorUnitario     = Convert.ToDecimal(valorUnitarioTextBox.Text);
                entradaProduto.QtdProdutoAtacado = Convert.ToDecimal(qtdProdutoAtacadoTextBox.Text);
                entradaProduto.Desconto          = Convert.ToDecimal(descontoProdutoTextBox.Text);

                entradaProduto.FornecedorEhFabricante = ((Dados.saceDataSet.tb_pessoaRow)((System.Data.DataRowView)pessoaFornecedorBindingSource.Current).Row).ehFabricante;
                entradaProduto.CodFornecedor          = ((Dados.saceDataSet.tb_pessoaRow)((System.Data.DataRowView)pessoaFornecedorBindingSource.Current).Row).codPessoa;

                GerenciadorEntradaProduto.GetInstance().Inserir(entradaProduto, entrada.CodTipoEntrada);
                codEntradaTextBox_TextChanged(sender, e);
                btnProdutos_Click(sender, e);
            }
            else
            {
                gEntrada.Atualizar(entrada);
                entradaBindingSource.Position = entradaBindingSource.List.IndexOf(entrada);
                produtoBindingSource.Position = 0;
                habilitaBotoes(true);
                btnProdutos.Focus();
            }
            entradaBindingSource.EndEdit();
        }
コード例 #22
0
 public FrmProduto()
 {
     InitializeComponent();
     ProdutoPesquisa = null;
     entradaProduto  = null;
 }