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); } }
private void tlStrpBtnGeraNt_Click(object sender, EventArgs e) { FrmRelGeral filho = new FrmRelGeral("FrmEmiNF", null, this); filho.Show(); }
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); } }
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); } }