示例#1
0
        public void LiberaPedido()
        {
            try
            {

                //Variavel para o contador dos itens
                var teste = 0;

                //variavel para contador, para atualizar situação
                var situacao = 0;

                //Crio o Datatable
                DataTable dttRetorno = new DataTable();

                //For para verificar os itens liberados e incrementar o contador
                for (int i = 0; i < dtgrdvItenspven.RowCount; i++)
                {

                    //Verifico o saldo disponivel para liberação
                    int saldolib = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                    //atribuo a lista de itens ao datatable
                    dttRetorno = ListarItem(Convert.ToInt32(txtbtnPedido.Text));

                    if (Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdeLib"].Value) < 0)
                    {
                        throw new Exception("QuantidadeNegativa");
                    }

                    //verifico se o saldo = a quantidade do datatable se for = incremento o contador
                    if (saldolib == Convert.ToInt32(dttRetorno.Rows[i]["QUANTIDADE"]))
                    {
                        teste += 1;
                    }
                }

                //se o contador for = a qtde iten liberado dá a mensagem que o pedido já foi efetivado
                if (teste == dtgrdvItenspven.Rows.Count)
                {
                    if (isPedidoFaturado(Convert.ToInt32(txtbtnPedido.Text)))
                    {
                        MessageBox.Show("Pedido já efetivado e faturado!", "Aviso", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        DialogResult dr = MessageBox.Show("Pedido já efetivado! \nDeseja faturar nota fiscal?", "Aviso",
                                                          MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (dr == DialogResult.Yes)
                        {
                            emitirNotaFiscal();
                            FrmRelGeral filho = new FrmRelGeral("FrmEmiNF", this, null);
                            filho.Show();
                        }
                    }
                }
                //se não continuo a liberação dos itens pendentes
                else
                {

                    //Verifico o limite de crêdito do cliente
                    #region ValidaLimiteCredito
                    DataTable dttPedidocli = new DataTable();

                    dttPedidocli = ListarValorCliente(txtCodCliente.Text);
                    string valormercadoria = "";

                    if (dttPedidocli.Rows.Count > 0)
                    {
                        ValorPedido = Convert.ToDouble(dttPedidocli.Rows[0]["VALOR"]);
                        valormercadoria = txtBxVlrFaturado.Text.Replace("R$", "").Replace(".", "");
                        ValorFaturar = ValorPedido + Convert.ToDouble(valormercadoria);

                    }

                    DataTable dttCliente = new DataTable();

                    dttCliente = ListarLimiteCliente(txtCodCliente.Text);

                    if (dttCliente.Rows.Count > 0)
                    {
                        ValorLimite = Convert.ToDouble(dttCliente.Rows[0]["LIMITE"]);

                    }

                    if (Convert.ToDouble(valormercadoria) > ValorLimite)
                    {

                        throw new Exception("ValidaLimite");

                    }
                    #endregion

                    //Verifico Saldo em estoque do produto selecionado
                    #region ValidaEstoque

                    foreach (DataGridViewRow item in dtgrdvItenspven.Rows)
                    {
                        //Verifico o saldo disponivel para liberação
                        int saldolib = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(item.Cells["ColProd"].Value));
                        int SaldoEstoque = ListarSaldoEstoque(Convert.ToInt32(item.Cells["ColProd"].Value));
                        int QtdeLiberada = Convert.ToInt32(item.Cells["ClmQtdeLib"].Value);

                        //verifico a quantidade liberada - saldodisponivel para liberacao
                        int qdelib = QtdeLiberada - saldolib;

                        if (saldolib != Convert.ToInt32(item.Cells["ClmQtde"].Value))
                        {

                            if (qdelib > SaldoEstoque)
                            {

                                throw new Exception("ValidaEstoque");

                            }

                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value) > Convert.ToInt32(item.Cells["ClmQtde"].Value))
                            {

                                throw new Exception("ValidaQtdeLiberada");

                            }

                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value) < 0)
                            {
                                throw new Exception("QuantidadeNegativa");
                            }
                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value)== 0)
                            {
                                throw new Exception("QuantidadeZerada");
                            }
                        }
                    }
                    #endregion

                    //For para verificar os itens liberados, pego os itens checkado e que a quantidade liberada seja menor que a quantidade solicitada
                    for (int i = 0; i < dtgrdvItenspven.RowCount; i++)
                    {

                        //Verifico o saldo disponivel para liberação
                        int saldolib = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                        //verifico se o iten liberado é < que a quantidade já liberada
                        if (Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdelib"].Value) < saldolib)
                        {
                            throw new Exception("ItenLibMenor");
                        }
                        else if (Convert.ToBoolean(dtgrdvItenspven.Rows[i].Cells["ColCheck"].Value = true) && (saldolib <= Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtde"].Value)))
                        {
                            //verifico a quantidade liberada - saldodisponivel para liberacao
                            int qdeliberada = Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdelib"].Value) - saldolib;

                            //verifico saldo atual em estoque
                            int estoqueatual = ListarSaldoEstoque(Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                            //subtraio o saldo atual - qtdeliberada
                            int atualizaestoque = estoqueatual - qdeliberada;

                            //Atualiza a quantidade liberada do itenpedido
                            AtualizarQtde(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdeLib"].Value), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                            //Atuliza a quantidade atual em estoque
                            atualizaSaldoEstoque(Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value), atualizaestoque);

                        }
                        continue;
                    }

                    //for para atualizar a situação do pedido
                    for (int j = 0; j < dtgrdvItenspven.RowCount; j++)
                    {

                        //Pego a quantidade liberada do pedido por item
                        int qtdelib = Convert.ToInt32(dtgrdvItenspven.Rows[j].Cells["ClmQtdeLib"].Value);

                        //atribuo a lista de itens ao datatable
                        dttRetorno = ListarItem(Convert.ToInt32(txtbtnPedido.Text));

                        //verifico se é = a quantidade do datatable incrememnto meu contador
                        if (qtdelib == Convert.ToInt32(dttRetorno.Rows[j]["QUANTIDADE"]))
                        {
                            situacao += 1;
                        }

                    }

                    //se o contador for = a qtde iten liberado Atualiza a situação pedido para Efetivado
                    if (situacao == dtgrdvItenspven.Rows.Count)
                    {
                        atualizaSituacao("E", Convert.ToInt32(txtbtnPedido.Text));
                    }
                    //se for != da quantidade do datatable deixa como pendente o pedido
                    else
                    {
                        atualizaSituacao("P", Convert.ToInt32(txtbtnPedido.Text));

                    }

                    //mensagem de pedido liberao (Efetivado) Com sucesso
                    MessageBox.Show("Pedido Liberado.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Limpo os controles da tela, preparando para uma nova liberação
                    limparcampos();
                }
            }
            catch (Exception ex)
            {
                Validacoes valida = new Validacoes();
                valida.tratarSystemExceções(ex);
            }
        }
示例#2
0
 private void tlStrpBtnGeraNt_Click(object sender, EventArgs e)
 {
     FrmRelGeral filho = new FrmRelGeral("FrmEmiNF", null, this);
     filho.Show();
 }
示例#3
0
        public void LiberaPedido()
        {
            try
            {
                //Variavel para o contador dos itens
                var teste = 0;

                //variavel para contador, para atualizar situação
                var situacao = 0;

                //Crio o Datatable
                DataTable dttRetorno = new DataTable();

                //For para verificar os itens liberados e incrementar o contador
                for (int i = 0; i < dtgrdvItenspven.RowCount; i++)
                {
                    //Verifico o saldo disponivel para liberação
                    int saldolib = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                    //atribuo a lista de itens ao datatable
                    dttRetorno = ListarItem(Convert.ToInt32(txtbtnPedido.Text));

                    if (Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdeLib"].Value) < 0)
                    {
                        throw new Exception("QuantidadeNegativa");
                    }

                    //verifico se o saldo = a quantidade do datatable se for = incremento o contador
                    if (saldolib == Convert.ToInt32(dttRetorno.Rows[i]["QUANTIDADE"]))
                    {
                        teste += 1;
                    }
                }

                //se o contador for = a qtde iten liberado dá a mensagem que o pedido já foi efetivado
                if (teste == dtgrdvItenspven.Rows.Count)
                {
                    if (isPedidoFaturado(Convert.ToInt32(txtbtnPedido.Text)))
                    {
                        MessageBox.Show("Pedido já efetivado e faturado!", "Aviso", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        DialogResult dr = MessageBox.Show("Pedido já efetivado! \nDeseja faturar nota fiscal?", "Aviso",
                                                          MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (dr == DialogResult.Yes)
                        {
                            emitirNotaFiscal();
                            FrmRelGeral filho = new FrmRelGeral("FrmEmiNF", this, null);
                            filho.Show();
                        }
                    }
                }
                //se não continuo a liberação dos itens pendentes
                else
                {
                    //Verifico o limite de crêdito do cliente
                    #region ValidaLimiteCredito
                    DataTable dttPedidocli = new DataTable();

                    dttPedidocli = ListarValorCliente(txtCodCliente.Text);
                    string valormercadoria = "";



                    if (dttPedidocli.Rows.Count > 0)
                    {
                        ValorPedido     = Convert.ToDouble(dttPedidocli.Rows[0]["VALOR"]);
                        valormercadoria = txtBxVlrFaturado.Text.Replace("R$", "").Replace(".", "");
                        ValorFaturar    = ValorPedido + Convert.ToDouble(valormercadoria);
                    }

                    DataTable dttCliente = new DataTable();

                    dttCliente = ListarLimiteCliente(txtCodCliente.Text);

                    if (dttCliente.Rows.Count > 0)
                    {
                        ValorLimite = Convert.ToDouble(dttCliente.Rows[0]["LIMITE"]);
                    }

                    if (Convert.ToDouble(valormercadoria) > ValorLimite)
                    {
                        throw new Exception("ValidaLimite");
                    }
                    #endregion

                    //Verifico Saldo em estoque do produto selecionado
                    #region ValidaEstoque

                    foreach (DataGridViewRow item in dtgrdvItenspven.Rows)
                    {
                        //Verifico o saldo disponivel para liberação
                        int saldolib     = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(item.Cells["ColProd"].Value));
                        int SaldoEstoque = ListarSaldoEstoque(Convert.ToInt32(item.Cells["ColProd"].Value));
                        int QtdeLiberada = Convert.ToInt32(item.Cells["ClmQtdeLib"].Value);

                        //verifico a quantidade liberada - saldodisponivel para liberacao
                        int qdelib = QtdeLiberada - saldolib;

                        if (saldolib != Convert.ToInt32(item.Cells["ClmQtde"].Value))
                        {
                            if (qdelib > SaldoEstoque)
                            {
                                throw new Exception("ValidaEstoque");
                            }

                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value) > Convert.ToInt32(item.Cells["ClmQtde"].Value))
                            {
                                throw new Exception("ValidaQtdeLiberada");
                            }

                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value) < 0)
                            {
                                throw new Exception("QuantidadeNegativa");
                            }
                            if (Convert.ToInt32(item.Cells["ClmQtdeLib"].Value) == 0)
                            {
                                throw new Exception("QuantidadeZerada");
                            }
                        }
                    }
                    #endregion

                    //For para verificar os itens liberados, pego os itens checkado e que a quantidade liberada seja menor que a quantidade solicitada
                    for (int i = 0; i < dtgrdvItenspven.RowCount; i++)
                    {
                        //Verifico o saldo disponivel para liberação
                        int saldolib = SaldoLiberar(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                        //verifico se o iten liberado é < que a quantidade já liberada
                        if (Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdelib"].Value) < saldolib)
                        {
                            throw new Exception("ItenLibMenor");
                        }
                        else if (Convert.ToBoolean(dtgrdvItenspven.Rows[i].Cells["ColCheck"].Value = true) && (saldolib <= Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtde"].Value)))
                        {
                            //verifico a quantidade liberada - saldodisponivel para liberacao
                            int qdeliberada = Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdelib"].Value) - saldolib;

                            //verifico saldo atual em estoque
                            int estoqueatual = ListarSaldoEstoque(Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                            //subtraio o saldo atual - qtdeliberada
                            int atualizaestoque = estoqueatual - qdeliberada;

                            //Atualiza a quantidade liberada do itenpedido
                            AtualizarQtde(Convert.ToInt32(txtbtnPedido.Text), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ClmQtdeLib"].Value), Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value));

                            //Atuliza a quantidade atual em estoque
                            atualizaSaldoEstoque(Convert.ToInt32(dtgrdvItenspven.Rows[i].Cells["ColProd"].Value), atualizaestoque);
                        }
                        continue;
                    }

                    //for para atualizar a situação do pedido
                    for (int j = 0; j < dtgrdvItenspven.RowCount; j++)
                    {
                        //Pego a quantidade liberada do pedido por item
                        int qtdelib = Convert.ToInt32(dtgrdvItenspven.Rows[j].Cells["ClmQtdeLib"].Value);

                        //atribuo a lista de itens ao datatable
                        dttRetorno = ListarItem(Convert.ToInt32(txtbtnPedido.Text));

                        //verifico se é = a quantidade do datatable incrememnto meu contador
                        if (qtdelib == Convert.ToInt32(dttRetorno.Rows[j]["QUANTIDADE"]))
                        {
                            situacao += 1;
                        }
                    }

                    //se o contador for = a qtde iten liberado Atualiza a situação pedido para Efetivado
                    if (situacao == dtgrdvItenspven.Rows.Count)
                    {
                        atualizaSituacao("E", Convert.ToInt32(txtbtnPedido.Text));
                    }
                    //se for != da quantidade do datatable deixa como pendente o pedido
                    else
                    {
                        atualizaSituacao("P", Convert.ToInt32(txtbtnPedido.Text));
                    }

                    //mensagem de pedido liberao (Efetivado) Com sucesso
                    MessageBox.Show("Pedido Liberado.", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Limpo os controles da tela, preparando para uma nova liberação
                    limparcampos();
                }
            }
            catch (Exception ex)
            {
                Validacoes valida = new Validacoes();
                valida.tratarSystemExceções(ex);
            }
        }
示例#4
0
        private void tlStrpBtnImprimir_Click(object sender, EventArgs e)
        {


            try
            {
                foreach (Form form in this.MdiChildren)
                {


                    if (form is FrmConCli)
                    {
                        FrmConCli frmcli = (FrmConCli)form;
                        FrmRelGeral filho = new FrmRelGeral("FrmConCli", form, this);
                        filho.Show();
                    }
                    if (form is FrmConPDV)
                    {
                        FrmConPDV frmPed = (FrmConPDV)form;

                        if (frmPed.dtGrdConPDV.RowCount == 0)
                        {
                            throw new Exception("Grid Vazio");
                        }

                        FrmRelGeral filho = new FrmRelGeral("FrmConPDV", form, this);


                        filho.Show();
                    }

                    if (form is FrmConEstProd)
                    {
                        FrmConEstProd frmConEst = (FrmConEstProd)form;

                        if (frmConEst.dtGrdVwConProd.RowCount == 0)
                        {
                            throw new Exception("Grid Vazio");
                        }

                        FrmRelGeral filho = new FrmRelGeral("FrmConEstProd", form, this);


                        filho.Show();
                    }
                    if (form is FrmConProd)
                    {
                        FrmRelGeral filho = new FrmRelGeral("FrmConProd", form, this);
                        filho.Show();
                    }
                    if (form is FrmConVen)
                    {
                        FrmConVen frmPed = (FrmConVen)form;
                        FrmRelGeral filho = new FrmRelGeral("FrmConVen", form, this);
                        filho.Show();
                    }

                }
            }
            catch (Exception ex)
            {
                valida.tratarSystemExceções(ex);
            }
        }