public void CadastrarProduto(Produto produto) { if (produto == null) { throw new ArgumentNullException(); } this.repository.Add(produto); this.repository.Save(); }
private void AdicionarProdutoLista(Produto produto) { ItemPedido itemPedido = this.itensPedidos.FirstOrDefault(item => item.Produto == produto); if (itemPedido != null) { itemPedido.QtdProduto += 1; } else { itemPedido = new ItemPedido() { Produto = produto, QtdProduto = 1 }; this.itensPedidos.Add(itemPedido); } this.MostrarProdutosLista(); }
private void btnSalvarProduto_Click(object sender, EventArgs e) { try { this.ValidarCamposFormulario(); Produto produto = new Produto() { Nome = this.txtNomeNovoProduto.Text, Descricao = this.txtDescricaoNovoProduto.Text, Preco = Convert.ToDecimal(this.txtPrecoNovoProduto.Text), CategoriaId = (int) cboCategoria.SelectedValue }; using (MemoryStream ms = new MemoryStream()) { Image image = this.picImagemNovoProduto.Image; image.Save(ms, ImageFormat.Png); produto.Imagem = ms.ToArray(); } this.produtoBusiness.CadastrarProduto(produto); this.PreencherCamposFormulario(); this.limparCamposFormularioNovoProduto(); MessageBox.Show(Mensagens.CadastroProdutoSucesso, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Information); this.LimparCamposFormulario(); this.PreencherCamposFormulario(); } catch (GenericWarningException ex) { MessageBox.Show(ex.Message, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception) { MessageBox.Show(Mensagens.CadastroProdutoFalha, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// private void PreencherFormularioProduto(Produto produto) { // 1. Preencher nome do produto this.txtNomeProduto.Text = produto.Nome; // 2. Preencher categoria do produto this.cboCategoria.SelectedValue = produto.CategoriaId; // 3. Preencher preço do produto this.txtPrecoProduto.Text = Convert.ToString(produto.Preco); // 4. Selecionar ingredientes que compoem produto for (int i = 0; i != this.chkListaDeIngredientesProduto.Items.Count; ++i) { ListItem item = (ListItem)this.chkListaDeIngredientesProduto.Items[i]; // Se o item representa um ingrediente da lista de ingredientes do Produto, // checar o ingrediente na lista de ingredientes da tela if (produto.Ingredientes.Where(elemento => elemento.Nome == item.Text).FirstOrDefault() != null) { if (chkListaDeIngredientesProduto.GetItemCheckState(i) == CheckState.Indeterminate || chkListaDeIngredientesProduto.GetItemCheckState(i) == CheckState.Unchecked) { chkListaDeIngredientesProduto.SetItemCheckState(i, CheckState.Checked); } } else { if (chkListaDeIngredientesProduto.GetItemCheckState(i) == CheckState.Checked){ chkListaDeIngredientesProduto.SetItemCheckState(i, CheckState.Unchecked); } } } #region Testes de algoritimo para 4. Selecionar ingredientes que compoem produto /* this.chkListaDeIngredientesProduto.Items.Clear(); foreach (Ingrediente ingrediente in this.ingredienteBusiness.RecuperarIngredientes()) { foreach (Ingrediente ingredienteParaSelecionar in produto.Ingredientes) { ListItem listItem = new ListItem() { Text = ingrediente.Nome, Value = ingrediente.Nome, }; if (ingredienteParaSelecionar == ingrediente) { listItem.Selected = true; } this.chkListaDeIngredientesProduto.Items.Add(listItem); } } */ /* foreach (ListItem item in this.chkListaDeIngredientesProduto.Items) { foreach (Ingrediente ing in produto.Ingredientes) { if (item.Text == ing.Nome) { item.Selected = true; } } } */ /* for (int i = 0; i < this.chkListaDeIngredientesProduto.Items.Count; i++) { foreach (Ingrediente ing in produto.Ingredientes) { if (((Ingrediente)this.chkListaDeIngredientesProduto.Items[i]) == ing) { ((ListItem)this.chkListaDeIngredientesProduto.Items[i]).Selected = true; } } } foreach (ListItem item in this.chkListaDeIngredientesProduto.Items) { foreach (Ingrediente ing in produto.Ingredientes) { if (item.Value == ing.Nome) { item.Selected = true; } } } */ #endregion // 5. Preencher descrição do produto this.txtDescricaoProduto.Text = produto.Descricao; // 6. Adicionar imagem do produto ImageConverter ic = new ImageConverter(); this.picImagemProduto.Image = (System.Drawing.Image)ic.ConvertFrom(produto.Imagem); }
// private Produto criarProdutoDoForm() { Produto novoProduto = new Produto() { Nome = this.txtNomeProduto.Text, Descricao = this.txtDescricaoProduto.Text, Preco = Convert.ToDecimal(this.txtPrecoProduto.Text), CategoriaId = (int)cboCategoria.SelectedValue, }; // Construir imagem do produto using (MemoryStream ms = new MemoryStream()) { System.Drawing.Image image = this.picImagemProduto.Image; image.Save(ms, ImageFormat.Png); novoProduto.Imagem = ms.ToArray(); } // 3. Recuperar e adicionar os ingredientes selecionados ao produto foreach (ListItem itemChecado in chkListaDeIngredientesProduto.CheckedItems) { Int32 itemId = Convert.ToInt32(itemChecado.Value); Ingrediente ingrediente = ingredienteBusiness.RecuperarIngrediente(itemId); novoProduto.Ingredientes.Add(ingrediente); } return novoProduto; }
public ItemPedido(Produto produto) { this.Produto = produto; }
private void btnSalvarCombo_Click(object sender, EventArgs e) { try { this.ValidarCamposFormulario(); Produto combo = new Produto() { Nome = this.txtNomeCombo.Text, Descricao = this.txtDescricaoCombo.Text, Preco = Convert.ToDecimal(this.txtPrecoCombo.Text), IsCombo = true }; using (MemoryStream ms = new MemoryStream()) { Image image = this.picImagemCombo.Image; image.Save(ms, ImageFormat.Png); combo.Imagem = ms.ToArray(); } foreach (string nomeProduto in this.chkListaDeProdutos.Items) { Produto produto = this.produtoBusiness.RecuperarProdutos(p => p.Nome == nomeProduto).FirstOrDefault(); if (produto != null) { combo.Produtos.Add(produto); } } this.produtoBusiness.CadastrarProduto(combo); MessageBox.Show(Mensagens.CadastroProdutoSucesso, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Information); this.LimparCamposFormulario(); this.PreencherCamposFormulario(); } catch (GenericWarningException ex) { MessageBox.Show(ex.Message, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception) { MessageBox.Show(Mensagens.CadastroProdutoFalha, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// private void PreencherFormularioProduto(Produto produto) { // 1. Preencher nome do produto this.txtNomeProduto.Text = produto.Nome; // 2. Preencher categoria do produto this.cboCategoria.SelectedValue = produto.CategoriaId; // 3. Preencher preço do produto Console.WriteLine("preço" + produto.Preco.ToString()); this.txtPrecoProduto.Text = Convert.ToString(produto.Preco); // 4. Selecionar ingredientes que compoem produto /**** TODO: Falta implementar ****/ // 5. Preencher descrição do produto this.txtDescricaoProduto.Text = produto.Descricao; // 6. Adicionar imagem do produto ImageConverter ic = new ImageConverter(); this.picImagemProduto.Image = (Image)ic.ConvertFrom(produto.Imagem); }
private void btnSalvarModificacaoProduto_Click(object sender, EventArgs e) { try{ // 1. Validar campos do formulário ValidarCamposFormulario(); // 2. Remover o produto selecionado RemoverProdutoSelecionado(); // 3. Criar um novo produto a partir dos campos modificados Produto novoProduto = new Produto() { Nome = this.txtNomeProduto.Text, Descricao = this.txtDescricaoProduto.Text, Preco = Convert.ToDecimal(this.txtPrecoProduto.Text), CategoriaId = (int)cboCategoria.SelectedValue }; using (MemoryStream ms = new MemoryStream()) { Image image = this.picImagemProduto.Image; image.Save(ms, ImageFormat.Png); novoProduto.Imagem = ms.ToArray(); } // 4. Adicionar o novo produto ao banco de dados this.produtoBusiness.CadastrarProduto(novoProduto); // 5. Desativar os botoes de salvar e cancelar DesativarSalvarModificacao(); } catch (GenericWarningException ex){ MessageBox.Show(ex.Message, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception){ MessageBox.Show(Mensagens.CadastroProdutoFalha, Mensagens.Mensagem, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ItemPedido(Produto produto) { this.Produto = produto; this.ProdutoId = produto.Id; }