private void Button1_Click(object sender, EventArgs e) { if (this.comboBox1.SelectedItem != null && this.textBox1.Text != "") { ItemVenda item = new ItemVenda() { Produto = ((Produto)this.comboBox2.SelectedItem), Quantidade = Convert.ToDouble(this.textBox1.Text) }; if (item.Produto != null) { if (this.listaPedido.Find(value => value.Equals(item)) != null) { this.listaPedido.Find(value => value.Equals(item)).Quantidade += item.Quantidade; } else { this.listaPedido.Add(item); } this.tbValorTotal.Text = this.listaPedido.Aggregate(0.0, (acc, curr) => { acc += curr.Preco; return(acc); }).ToString(); } this.bindingSourceVenda.ResetBindings(false); } }
private void Button1_Click(object sender, EventArgs e) { if (this.comboBox1.SelectedItem != null && this.textBox1.Text != "") { ItemVenda item = new ItemVenda() { Produto = ((Produto)this.comboBox2.SelectedItem), Quantidade = Convert.ToDouble(this.textBox1.Text) }; if (item.Produto != null) { if (this.listaVenda.Find(value => value.Equals(item)) != null) { if (this.listaVenda.Find(value => value.Equals(item)).Quantidade + item.Quantidade <= item.Produto.EstoqueAtual) { this.listaVenda.Find(value => value.Equals(item)).Quantidade += item.Quantidade; } else { if (MessageBox.Show("O pedido já possui a quantidade em estoque deste produto. Você deseja solicitar o restante dos produtos?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.No)) { if (MessageBox.Show("Deseja remover estes produtos da solicitação?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes)) { this.listaVenda.Remove(this.listaVenda.Find(value => value.Equals(item))); } } else { this.listaVenda.Find(value => value.Equals(item)).Quantidade = item.Produto.EstoqueAtual; } } } else { if (item.Quantidade <= item.Produto.EstoqueAtual) { this.listaVenda.Add(item); } else { if (MessageBox.Show("Este produto não possui quantidade suficiente em estoque para satisfazer o pedido. O cliente deseja levar o restante dos produtos?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.Yes)) { item.Quantidade = item.Produto.EstoqueAtual; this.listaVenda.Add(item); } } } this.tbValorTotal.Text = this.listaVenda.Aggregate(0.0, (acc, curr) => { acc += curr.Preco; return(acc); }).ToString(); this.bindingSourceVenda.ResetBindings(false); } } }