private void saveEdit_Click(object sender, EventArgs e) { try { string nome = txtNome.Text; Desenvolvedor dev_item = cmbDesenvolvedor.SelectedItem as Desenvolvedor; int codigo_dev = dev_item.codigo; Disponibilidade disp_item = cmbDisponibilidade.SelectedItem as Disponibilidade; int codigo_disp = disp_item.codigo; int estoque = Convert.ToInt32(mskEstoque.Text); double preco = Convert.ToDouble(txtPreco.Text); string descricao = txtDescricao.Text; string updateProduto = "UPDATE tb_produtos SET codigo_desenvolvedor = @cod_dev, codigo_disponibilidade = @cod_disp, nome = @nome, estoque = @estoque, preco = @preco, descricao = @descricao WHERE codigo = @codigo"; SqlCommand commandProduto = new SqlCommand(updateProduto, conn); commandProduto.Parameters.AddWithValue("@cod_dev", codigo_dev); commandProduto.Parameters.AddWithValue("@cod_disp", codigo_disp); commandProduto.Parameters.AddWithValue("@nome", nome); commandProduto.Parameters.AddWithValue("@estoque", estoque); commandProduto.Parameters.AddWithValue("@preco", preco); commandProduto.Parameters.AddWithValue("@descricao", descricao); commandProduto.Parameters.AddWithValue("@codigo", codigo); // Verifica se a imagem foi alterada e seta uma nova if (loadNewImage && globalImageName.Length > 0) { // limpa imagens da pasta string path = @".\tb_produtos"; string product_path = path + "/" + codigo + "/"; string image_link = ""; DirectoryInfo di = new DirectoryInfo(product_path); foreach (FileInfo file in di.GetFiles()) { try { file.Delete(); } catch (Exception ex) { Console.WriteLine("Image delete throw: " + ex.Message); } } string iName = openImageDialog.SafeFileName; string filepath = openImageDialog.FileName; File.Copy(filepath, product_path + iName); // Salvar imagem no banco string sqlImagem = "SELECT * FROM tb_arquivos WHERE codigo_item = @cod_item AND tabela = 'tb_produtos'"; SqlCommand commImagem = new SqlCommand(sqlImagem, conn); commImagem.Parameters.AddWithValue("@cod_item", codigo); var checkImageExists = commImagem.ExecuteScalar(); if (checkImageExists != null) { int codigoArquivo = Convert.ToInt32(checkImageExists); string sqlUptArquivo = "UPDATE tb_arquivos SET arquivo = @arquivo, nome = @nome WHERE codigo_item = @codigo"; SqlCommand updateCommand = new SqlCommand(sqlUptArquivo, conn); updateCommand.Parameters.AddWithValue("@arquivo", iName); updateCommand.Parameters.AddWithValue("@nome", iName); updateCommand.Parameters.AddWithValue("@codigo", codigo); updateCommand.ExecuteNonQuery(); } else { string sqlIstArquivo = "INSERT INTO tb_arquivos (codigo_item, nome, arquivo, tabela) VALUES (@cod_item, @nome, @arquivo, @tabela)"; SqlCommand insertCommand = new SqlCommand(sqlIstArquivo, conn); insertCommand.Parameters.AddWithValue("@cod_item", codigo); insertCommand.Parameters.AddWithValue("@nome", iName); insertCommand.Parameters.AddWithValue("@arquivo", iName); insertCommand.Parameters.AddWithValue("@tabela", "tb_produtos"); insertCommand.ExecuteNonQuery(); } } // Limpa todos os gêreros para o produto e coloca os selecionados (gambiarra mode) try { string deleteGeneros = "DELETE FROM tb_produtos_generos WHERE codigo_produto = @codigo"; SqlCommand deleteCommand = new SqlCommand(deleteGeneros, conn); deleteCommand.Parameters.AddWithValue("@codigo", codigo); deleteCommand.ExecuteNonQuery(); foreach (Genero item in checkListGeneros.CheckedItems) { int codigoItem = item.codigo; string sqlGender = "INSERT INTO tb_produtos_generos (codigo_produto, codigo_genero) VALUES (@cod_prod, @cod_gen)"; SqlCommand comNewGender = new SqlCommand(sqlGender, conn); comNewGender.Parameters.AddWithValue("@cod_prod", codigo); comNewGender.Parameters.AddWithValue("@cod_gen", codigoItem); comNewGender.ExecuteNonQuery(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } commandProduto.ExecuteNonQuery(); AllProducts allProducts = new AllProducts(); allProducts.Focus(); this.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void todosOsProdutosToolStripMenuItem_Click(object sender, EventArgs e) { AllProducts allProducts = new AllProducts(); allProducts.Show(); }