Exemple #1
0
        private async void ButtonDeletar_ClickAsync(object sender, RoutedEventArgs e)
        {
            MessageBoxResult resultado = MessageBox.Show("Tem certeza que deseja excluir o produto?", "Deletar Produto", MessageBoxButton.YesNo, MessageBoxImage.Information);

            if (resultado == MessageBoxResult.Yes)
            {
                try
                {
                    using (DBEstoque dBEstoque = new DBEstoque())
                    {
                        var produtotabela = (Produto)TabelaDB.SelectedCells[0].Item;          //Seleciona o item da celula correspondente e adiciona implicitamente em uma variavel produto

                        Produto y = await dBEstoque.Produtos.FindAsync(produtotabela.Codigo); //Procura o produto selecionado da tabela no banco de dados

                        dBEstoque.Produtos.Remove(y);                                         //remove o produto do bando de dados
                        await dBEstoque.SaveChangesAsync();


                        MessageBox.Show("O Produto foi Deletado", "Produto Deletado", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                }

                this.Hide();
                TelaPrincipal tela = new TelaPrincipal();
                tela.Show();
            }
        }
        private async void ButtonCadastrar_ClickAsync(object sender, RoutedEventArgs e)
        {
            try
            {
                using (DBEstoque dBEstoque = new DBEstoque())
                {
                    Produto produto = new Produto
                    {
                        Nome       = TextNomeProd.Text,
                        Descricao  = TextDesProd.Text.ToString(),
                        Preco      = double.Parse(TextPreProd.Text.Trim()),
                        ImagemPr   = SalvarImagem(),
                        Quantidade = int.Parse(TextQtdProd.Text.Trim())
                    };

                    dBEstoque.Produtos.Add(produto);
                    await dBEstoque.SaveChangesAsync();
                }

                MessageBox.Show("Produto Cadastrado", "Produto Cadastrado", MessageBoxButton.OK, MessageBoxImage.Information);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\nOs campos Preço e Quantidade aceitam somente números. Produto não Cadastrado.", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            TelaPrincipal TelaPrincipal = new TelaPrincipal();

            TelaPrincipal.Show();
            this.Close();
        }
        private void ButtonCancelar_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
            TelaPrincipal TelaPrincipal = new TelaPrincipal();

            TelaPrincipal.Show();
        }
        private async void ButtonCadastrar_ClickAsync(object sender, RoutedEventArgs e)
        {
            MessageBoxResult resultado = MessageBox.Show("Tem certeza que deseja alterar o produto?", "Alterar Produto", MessageBoxButton.YesNo, MessageBoxImage.Information);

            if (resultado == MessageBoxResult.Yes)
            {
                try
                {
                    using (DBEstoque dBEstoque = new DBEstoque())
                    {
                        Produto produto = new Produto
                        {
                            Nome       = TextNomeProd.Text,
                            Descricao  = TextDesProd.Text.ToString(),
                            Preco      = double.Parse(TextPreProd.Text.Trim()),
                            Quantidade = int.Parse(TextQtdProd.Text.Trim())
                        };

                        var produtoselecionado = await dBEstoque.Produtos.Where <Produto>(x => x.Codigo.ToString() == TextCodProd.Text).FirstOrDefaultAsync();

                        produtoselecionado.Codigo     = int.Parse(TextCodProd.Text.ToString());
                        produtoselecionado.Nome       = TextNomeProd.Text;
                        produtoselecionado.Descricao  = TextDesProd.Text.ToString();
                        produtoselecionado.Preco      = double.Parse(TextPreProd.Text.Trim());
                        produtoselecionado.Quantidade = int.Parse(TextQtdProd.Text.Trim());


                        await dBEstoque.SaveChangesAsync();
                    }

                    MessageBox.Show("Produto Alterado com sucesso", "Produto Alterado", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + "\nProduto não Alterado.", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            TelaPrincipal TelaPrincipal = new TelaPrincipal();

            TelaPrincipal.Show();
            this.Close();
        }