private void BtnEditar_Click(object sender, EventArgs e) { if (TextNomeLojaEditar.Text.Length == 0) { MessageBox.Show(this, "Favor preencher o nome da loja !", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } if (TextDataCompraEditar.Text.Length == 0) { MessageBox.Show(this, "Favor preencher a data da compra !", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } if (TextValorCompraEditar.Text.Length == 0) { MessageBox.Show(this, "Favor preencher o valor da compra!", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } if (TextQuantidadePecasEditar.Text.Length == 0) { MessageBox.Show(this, "Favor preencher a quantidade de peças!", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (IdCompra.Length == 0) { MessageBox.Show(this, "Favor realizar a busca de uma compra !", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cadastro.AtualizarCompraMercadoria(IdCompra, TextNomeLojaEditar.Text, TextDataCompraEditar.Text, TextValorCompraEditar.Text, TextQuantidadePecasEditar.Text); var TotalDePecas = 0; var TotalCompra = new decimal(); for (int i = 0; i < GridProdutosEditar.RowCount; i++) { TotalDePecas = TotalDePecas + Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value); TotalCompra = TotalCompra + Convert.ToDecimal(GridProdutosEditar.Rows[i].Cells[3].Value.ToString()) * Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value); } if (Convert.ToInt32(TextQuantidadePecasEditar.Text) != TotalDePecas) { MessageBox.Show(this, "A quantidade de peças informada não confere com a quantidade inserida nos produtos!", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (Convert.ToDecimal(TextValorCompraEditar.Text) != (decimal)TotalCompra) { MessageBox.Show(this, "O valor total da compra não é igual a soma do custo dos produtos!", null, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var TabelaCadastrada = Cadastro.RetornaProdutoCompra(IdCompra); var Existe = false; for (int j = 0; j < TabelaCadastrada.Rows.Count; j++) { for (int i = 0; i < GridProdutosEditar.RowCount; i++) { if (TabelaCadastrada.Rows[j]["ID PRODUTO"].ToString() .Equals(GridProdutosEditar.Rows[i].Cells[0].Value.ToString())) { Existe = true; if (Convert.ToInt32(TabelaCadastrada.Rows[j]["QUANTIDADE"]) < Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value)) { for (int k = 0; k < Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value) - Convert.ToInt32(TabelaCadastrada.Rows[j]["QUANTIDADE"]); k++) { Cadastro.CadastrarProdutoCompraMercadoria(IdCompra, GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), GridProdutosEditar.Rows[i].Cells[3].Value.ToString()); if (Cadastro.VerificaCadastro(GridProdutosEditar.Rows[i].Cells[0].Value.ToString())) { Cadastro.AdicionaProdutoEstoque(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), "1"); } else { Cadastro.CadastraProdutoEstoque(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), "1"); } } } else if (Convert.ToInt32(TabelaCadastrada.Rows[j]["QUANTIDADE"]) > Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value)) { var Diferenca = Convert.ToInt32(TabelaCadastrada.Rows[j]["QUANTIDADE"]) - Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value); Cadastro.DeletaProdutoCompra(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), IdCompra, Diferenca.ToString()); Cadastro.RemoveProdutoEstoque(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), Diferenca.ToString()); } } } if (!Existe) { Cadastro.DeletaTodosProdutoCompra(TabelaCadastrada.Rows[j]["ID PRODUTO"].ToString(), IdCompra); Cadastro.RemoveProdutoEstoque(TabelaCadastrada.Rows[j]["ID PRODUTO"].ToString(), TabelaCadastrada.Rows[j]["QUANTIDADE"].ToString()); } Existe = false; } for (int i = 0; i < GridProdutosEditar.RowCount; i++) { for (int j = 0; j < TabelaCadastrada.Rows.Count; j++) { if (TabelaCadastrada.Rows[j]["ID PRODUTO"].ToString() .Equals(GridProdutosEditar.Rows[i].Cells[0].Value.ToString())) { Existe = true; } } if (!Existe) { for (int k = 0; k < Convert.ToInt32(GridProdutosEditar.Rows[i].Cells[4].Value); k++) { Cadastro.CadastrarProdutoCompraMercadoria(IdCompra, GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), GridProdutosEditar.Rows[i].Cells[3].Value.ToString()); if (Cadastro.VerificaCadastro(GridProdutosEditar.Rows[i].Cells[0].Value.ToString())) { Cadastro.AdicionaProdutoEstoque(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), "1"); } else { Cadastro.CadastraProdutoEstoque(GridProdutosEditar.Rows[i].Cells[0].Value.ToString(), "1"); } } } Existe = false; } MessageBox.Show(this, "Compra de mercadoria atualizada com sucesso!", null, MessageBoxButtons.OK, MessageBoxIcon.Information); TextNomeLojaEditar.Text = ""; TextDataCompraEditar.Text = ""; TextValorCompraEditar.Text = ""; TextQuantidadePecasEditar.Text = ""; GridProdutosEditar.Rows.Clear(); IdCompra = ""; } } } }