double CarregarProduto(IProduto produto, ref double quantidade) { double preco = 0; string caminhoImagem = @"Arquivos\Imagens\Estoque\" + produto.ID + ".png"; pictureBoxProduto.Image = Imagem.Carregar(caminhoImagem); labelNome.Text = produto.Nome; if (produto.TipoVenda == "Quilo") { QuantidadeQuilo quantidadeQuilo = new QuantidadeQuilo(); quantidadeQuilo.ShowDialog(); quantidade = quantidadeQuilo.Peso; preco = produto.Preco * quantidade; labelPreco.Text = "Preço: R$ " + preco.ToString("F2"); } else if (produto.TipoVenda == "Unidade") { labelPreco.Text = "Preço: R$ " + produto.Preco.ToString("F2"); preco = produto.Preco; } try //Gerar código de barras do produto { Zen.Barcode.CodeEan13BarcodeDraw brCode = Zen.Barcode.BarcodeDrawFactory.CodeEan13WithChecksum; pictureBoxCodigoBarras.Image = brCode.Draw(produto.ID, 60, 20); } catch { } return(preco); }
void AdicionarProduto(string codigoDeBarras) { IProduto produto = BuscarProduto(codigoDeBarras); if (produto != null) { if (produto.Quantidade > 0) { if (produto.TipoVenda == "Unidade") { produto.Quantidade--; produto.QuantidadeVendida++; produto.QuantidadeComprada++; ValorTotalSemImposto += produto.Preco; ValorTotal += produto.Preco + (produto.Preco * produto.Imposto); } else if (produto.TipoVenda == "Quilo") { QuantidadeQuilo quantidadeQuilo = new QuantidadeQuilo(); quantidadeQuilo.ShowDialog(); double quantidade = quantidadeQuilo.Peso; produto.Quantidade -= quantidade; produto.QuantidadeVendida += quantidade; produto.QuantidadeComprada += quantidade; ValorTotalSemImposto += produto.Preco * quantidade; ValorTotal += produto.Preco * quantidade + (produto.Preco * quantidade * produto.Imposto); } } else { string message = "Produto indisponível no estoque"; string caption = "Estoque"; MessageBoxButtons buttons = MessageBoxButtons.OK; DialogResult result; result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Exclamation); } if (ListaCompra.IndexOf(produto) == -1) { ListaCompra.Add(produto); } CarregarTabela(); CarregarProduto(produto); } /* * if (ListaCompra.Count > 0) * { * foreach (IProduto produto in ListaCompra) * { * // caso o produto já tenha entrado na lista de compras * // será incrementado +1 em sua quantidade * * if (codigoDeBarras == Id.ToString(produto._id)) * { * if (produto.Quantidade > 0) * { * double preco = CarregarProduto(produto, ref quantidadePeso); * * if (quantidadePeso < produto.Quantidade) * { * if (produto.TipoVenda == "Unidade") * { * ValorTotalSemImposto += produto.Preco; * ValorTotal = ValorTotal + produto.Preco + (produto.Preco * produto.Imposto); * produto.Quantidade--; * produto.QuantidadeComprada++; * produto.QuantidadeVendida++; * } * else * { * ValorTotalSemImposto += preco; * ValorTotal += preco + (preco * produto.Imposto); * produto.Quantidade -= quantidadePeso; * produto.QuantidadeComprada += quantidadePeso; * } * * CarregarTabela(); * adicionado = true; * * labelImposto.Text = (produto.Imposto * 100).ToString("F2") + "%"; * break; * } * else * { * string message = "Produto indisponível no estoque"; * string caption = "Estoque"; * MessageBoxButtons buttons = MessageBoxButtons.OK; * DialogResult result; * result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Exclamation); * adicionado = true; * break; * } * } * else * { * string message = "Quantidade indisponível no estoque"; * string caption = "Estoque"; * MessageBoxButtons buttons = MessageBoxButtons.OK; * DialogResult result; * result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Exclamation); * adicionado = true; * break; * } * } * } * } * * if (adicionado == false) * { * foreach (IProduto produtoEstoque in ArquivoEstoque.ListaProdutos) * { * if (codigoDeBarras == Id.ToString(produtoEstoque._id)) * { * if (produtoEstoque.Quantidade > 0) * { * var aux = produtoEstoque; * ListaCompra.Add(aux); * * double preco = CarregarProduto(aux, ref quantidadePeso); * * if (quantidadePeso < produtoEstoque.Quantidade) * { * if (aux.TipoVenda == "Unidade") * { * ValorTotalSemImposto += produtoEstoque.Preco; * ValorTotal = ValorTotal + produtoEstoque.Preco + (produtoEstoque.Preco * produtoEstoque.Imposto); * aux.Quantidade--; * aux.QuantidadeComprada++; * aux.QuantidadeVendida++; * } * else * { * ValorTotalSemImposto += preco; * ValorTotal = ValorTotal + preco + (preco * aux.Imposto); * aux.Quantidade -= quantidadePeso; * aux.QuantidadeComprada = quantidadePeso; * } * * CarregarTabela(); * adicionado = true; * * labelImposto.Text = (produtoEstoque.Imposto * 100).ToString("F2") + "%"; * break; * } * else * { * string message = "Quantidade indisponível no estoque"; * string caption = "Estoque"; * MessageBoxButtons buttons = MessageBoxButtons.YesNo; * DialogResult result; * result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Exclamation); * * adicionado = true; * break; * } * } * else * { * string message = "Produto indisponível no estoque"; * string caption = "Estoque"; * MessageBoxButtons buttons = MessageBoxButtons.YesNo; * DialogResult result; * result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Exclamation); * * adicionado = true; * break; * } * } * } * } */ }