Пример #1
0
        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);
            }
        }
Пример #2
0
 private void todosOsProdutosToolStripMenuItem_Click(object sender, EventArgs e)
 {
     AllProducts allProducts = new AllProducts();
     allProducts.Show();
 }