Beispiel #1
0
        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;
             *          }
             *      }
             *  }
             * }
             */
        }