Пример #1
0
 /// <summary>
 /// Evento de CLICK do btnAlterar
 /// <para>Possui 3 etapas:</para>
 /// <para>1) Preparar a txtIdentidade para receber a identidade</para>
 /// <para>2) Recebe a identidade para pesquisa do cliente</para>
 /// <para>3) Armazena as informações recebidas se o usuário confirmar</para>
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void BtnAlterar_Click(object sender, EventArgs e)
 {
     try
     {
         if (btnAlterar.Text.ToUpper() == "Alterar".ToUpper())
         {
             if (dgvProdutos.SelectedRows.Count == 1)
             {
                 ControlEnable(true);
                 btnCadastrar.Enabled = false;
                 btnExcluir.Enabled = false;
                 btnCancelar.Visible = true;
                 numQuantidade.Enabled = false;
                 PRODUTOSDataTable dt = new PRODUTOSDataTable();
                 id = (int)dgvProdutos.SelectedCells[0].Value;
                 Produto produto = new Produto(id);
                 dt = banco.SelectProduto(produto.Id);
                 txtNome.Text = dt.Rows[0]["NOME_PRODUTO"].ToString();
                 numQuantidade.Value = (decimal)dt.Rows[0]["QUANTIDADE_PRODUTO"];
                 numValor.Value = (decimal) dt.Rows[0]["VALOR_PRODUTO"];
                 cmbFornecedores.SelectedValue = dt.Rows[0]["ID_FORNECEDOR_PRODUTO"];
                 txtObs.Text = dt.Rows[0]["OBS_PRODUTO"].ToString();
                 btnAlterar.Text = "Gravar".ToUpper();
             }
             else
             {
                 throw new Exception("Selecione uma e apenas uma linha na tabela para alterar");
             }
         }
         else
         {
             FORNECEDORESDataTable fornecedordt = fORNECEDORESTableAdapter.GetDataFornecedor((int) cmbFornecedores.SelectedValue);
             Fornecedor fornecedor = new Fornecedor(
                         Convert.ToInt32(fornecedordt.Rows[0]["Id_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["nome_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["identidade_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["cep_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["rua_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["numero_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["bairro_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["cidade_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["estado_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["telefone_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["celular_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["email_fornecedor"]),
                         Convert.ToString(fornecedordt.Rows[0]["obs_fornecedor"]), Convert.ToDateTime(fornecedordt.Rows[0]["data_info_fornecedor"])
                         );
             Produto produto = new Produto(id, txtNome.Text, fornecedor, numValor.Value, numQuantidade.Value, txtObs.Text);
             banco.UpdateProduto(produto);
             //log.WriteEntry(String.Format("produto {0} alterado", produto.Nome));
             BtnCancelar_Click(null, null);
         }
     }
     catch (Exception ex)
     {
         //log.WriteEntry(ex);
         MessageBox.Show(ex.Message);
     }
     finally
     {
         TableRefresh();
     }
 }
Пример #2
0
        private void CheckEstoque()
        {
            Dictionary <int, decimal> estoqueReal = new Dictionary <int, decimal>();

            foreach (int id in IdsRepetidosInRows(dgvProdutos.Rows))
            {
                estoqueReal.Add(id, 0);
                foreach (ProdOper produto in this.produtos)
                {
                    if (id == produto.Produto.Id)
                    {
                        estoqueReal[id] += produto.Quantidade;
                    }
                }
            }
            foreach (int id in estoqueReal.Keys)
            {
                PRODUTOSDataTable produto = banco.SelectProduto(id);
                string            msg     = String.Empty;
                if (produto.Rows.Count == 1)
                {
                    if ((decimal)produto.Rows[0]["quantidade_produto"] < estoqueReal[id])
                    {
                        msg += String.Format("\nQuantidade do produto {0} insuficiente para a venda",
                                             produto.Rows[0]["nome_produto"]);
                    }
                    if ((decimal)produto.Rows[0]["quantidade_produto"] == estoqueReal[id])
                    {
                        msg += String.Format("\nQuantidade do produto {0} suficiente para a venda, " +
                                             "mas o estoque será zerado", produto.Rows[0]["nome_produto"]);
                    }
                }
                if (msg != String.Empty)
                {
                    throw new Exception(msg);
                }
            }
        }
Пример #3
0
 private void dgvProdutos_CellEndEdit(object sender, DataGridViewCellEventArgs e)
 {
     if (dgvProdutos.Columns[e.ColumnIndex].HeaderText.Equals("ID"))
     {
         PRODUTOSDataTable prodsdt = banco.SelectProduto(Convert.ToInt32(dgvProdutos[e.ColumnIndex, e.RowIndex].Value));
         if (prodsdt.Rows.Count == 1)
         {
             dgvProdutos[e.ColumnIndex + 1, e.RowIndex].Value       = prodsdt.Rows[0]["Nome_Produto"];
             dgvProdutos[e.ColumnIndex + 3, e.RowIndex].Value       = prodsdt.Rows[0]["Valor_Produto"];
             dgvProdutos[e.ColumnIndex, e.RowIndex].ReadOnly        = true;
             dgvProdutos[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.LightGray;
             BeginInvoke((MethodInvoker) delegate()
             {
                 dgvProdutos.CurrentCell                 = dgvProdutos[e.ColumnIndex + 2, e.RowIndex];
                 dgvProdutos.CurrentCell.ReadOnly        = false;
                 dgvProdutos.CurrentCell.ToolTipText     = "Quantidade Máxima " + prodsdt.Rows[0]["Quantidade_Produto"].ToString();
                 dgvProdutos.CurrentCell.Style.BackColor = Color.White;
             }
                         );
         }
         else
         {
             MessageBox.Show("ID não encontrado");
             BeginInvoke((MethodInvoker) delegate()
             {
                 dgvProdutos[e.ColumnIndex, e.RowIndex].ReadOnly        = false;
                 dgvProdutos[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.White;
                 dgvProdutos.CurrentCell = dgvProdutos[e.ColumnIndex, e.RowIndex];
             });
         }
     }
     if (dgvProdutos.Columns[e.ColumnIndex].HeaderText.Equals("QUANTIDADE"))
     {
         try
         {
             PRODUTOSDataTable     produtosdt   = banco.SelectProduto(Convert.ToInt32(dgvProdutos["IdProduto", e.RowIndex].Value));
             FORNECEDORESDataTable fornecedordt = banco.SelectFornecedor(Convert.ToInt32(produtosdt.Rows[0]["id_fornecedor_produto"]));
             Fornecedor            fornecedor   = new Fornecedor(
                 Convert.ToInt32(fornecedordt.Rows[0]["id_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["nome_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["identidade_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["cep_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["rua_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["numero_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["bairro_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["cidade_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["estado_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["telefone_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["celular_fornecedor"]), Convert.ToString(fornecedordt.Rows[0]["email_fornecedor"]),
                 Convert.ToString(fornecedordt.Rows[0]["obs_fornecedor"]), Convert.ToDateTime(fornecedordt.Rows[0]["data_info_fornecedor"])
                 );
             Produto produto = new Produto(
                 Convert.ToInt32(produtosdt.Rows[0]["id_produto"]), Convert.ToString(produtosdt.Rows[0]["nome_produto"]),
                 fornecedor, Convert.ToDecimal(produtosdt.Rows[0]["valor_produto"]),
                 Convert.ToDecimal(produtosdt.Rows[0]["quantidade_produto"]), produtosdt.Rows[0]["obs_produto"].ToString()
                 );
             ProdOper prodOper = new ProdOper(produto, Convert.ToDecimal(dgvProdutos[e.ColumnIndex, e.RowIndex].Value));
             InsertDataProd(prodOper);
             ValorSet();
             BeginInvoke((MethodInvoker) delegate()
             {
                 dgvProdutos[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.LightGray;
                 dgvProdutos[e.ColumnIndex, e.RowIndex].ReadOnly        = true;
                 dgvProdutos.CurrentCell = dgvProdutos["IdProduto", dgvProdutos.NewRowIndex];
             });
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
             PRODUTOSDataTable prodsdt = banco.SelectProduto(Convert.ToInt32(dgvProdutos["IdProduto", e.RowIndex].Value));
             dgvProdutos.CurrentCell.Value = prodsdt.Rows[0]["Quantidade_Produto"];
         }
     }
 }