Beispiel #1
0
        //OK
        public void adicionarItemNaVenda2(int numeroMesa, Produto pro, int qtdConsumo)
        {
            //bool validacaoEstoque;
            //double valorProduto, calculaPreco;

            //validacaoEstoque = validarEstoque(qtdConsumo, pro.CodigoProduto);
            //if (validacaoEstoque) {
            ItensDaVenda item = new ItensDaVenda();

            item.CodigoVenda = buscarVendaAtiva(numeroMesa);
            //item.CodigoProduto = pro.CodigoProduto;
            item.QtdeConsumida = qtdConsumo;
            item.HoraDoPedido  = DateTime.Now.ToShortTimeString();

            //verificando qual é a instância do objeto.
            //Hora ele pode ser apenas um produto hora ele pode ser uma porção
            //que herda de produto.
            if (pro is Produto && !(pro is Porcao))
            {
                item.HoraDaEntrega = DateTime.Now.ToShortTimeString();
            }
            else
            {
                //lista com as porcoes que ainda estão na cozinha.
                //O tempo de entrega ainda nao foi setado aqui.
                porcoesNaCozinha.Add(item);
            }

            adicionarItemNaVenda(item);
            //valorProduto = buscarPrecoProduto(pro.CodigoProduto);
            //calculaPreco = valorProduto * qtdConsumo;
            //atualizarValorTotalVenda(item.CodigoVenda, calculaPreco);
            travarTela();
        }
Beispiel #2
0
        // usado na comparacao de porcao pedida com outras porcoes pedidas de outras mesas.
        public ItensDaVenda retornarItemDaVenda(int codProduto)
        {
            ItensDaVenda item = null;


            //percorrendo os itens das vendas ativas
            for (int i = 0; i < itensVenda.Count; i++)
            {
                //Pegando o objeto itemDaVenda que tem o código igual o codigo passado por parâmetro.
                if (codProduto == itensVenda[i].CodigoProduto)
                {
                    item = itensVenda[i];
                }
            }

            return(item);
        }
Beispiel #3
0
 // PODE-SE TAMBÉM DEIXAR ESTA LISTA NA PRÓPRIA CLASSE ITEM DA VENDA
 // SERÁ CRIADA UMA LISTA ÚNICA PARA CADA VENDA A CADA INSERÇÃO.
 // AQUI É UMA LISTA CONTENDO TODAS OS ITENS DE TODAS AS VENDAS EM UMA ÚNICA LISTA.
 public void adicionarItemNaVenda(ItensDaVenda item)
 {
     itensVenda.Add(item);
 }
Beispiel #4
0
        private void btnMesa6_Click(object sender, EventArgs e)
        {
            int    qtdeDesejada, qtdEstoque, codProduto;
            double precoProduto;

            if (tfQtd.TextLength > 0)
            {
                qtdeDesejada = Convert.ToInt32(tfQtd.Text);
            }
            else
            {
                qtdeDesejada = 0;
            }

            qtdEstoque   = Convert.ToInt32(dgvListarProdutos.CurrentRow.Cells[2].Value);//pegando a qtd do produto da linha da tabela.
            precoProduto = Convert.ToDouble(dgvListarProdutos.CurrentRow.Cells[3].Value);

            if (qtdeDesejada > 0 && qtdeDesejada <= qtdEstoque) // verificando se o estoque do produto escolhido é válido
            {
                qtdEstoque = (qtdEstoque - qtdeDesejada);       // atualizando estoque

                ItensDaVenda item = new ItensDaVenda();
                for (int i = 0; i < vendasAtivas.Count; i++)   //pegando a venda desta mesa.
                {
                    if (vendasAtivas[i].CodigoDaMesa == 6)
                    {
                        //atualizando o valor total da venda.
                        vendasAtivas[i].ValorTotalVenda = (vendasAtivas[i].ValorTotalVenda + (qtdeDesejada * precoProduto));

                        item.CodigoVenda = vendasAtivas[i].CodigoDaVenda;
                        break;  // quando ele encontrar esta venda, aqui ele sai da estrutura for.
                    }
                }
                //pegando o codigo do produto direto da tabela
                codProduto = Convert.ToInt32(dgvListarProdutos.CurrentRow.Cells[0].Value);

                ItensDaVendaDAO itemdao = new ItensDaVendaDAO();

                Produto p = new Produto();
                p.CodigoProduto          = codProduto; //usando o codProduto da tabela para setar no objeto.
                p.NomeDoProduto          = dgvListarProdutos.CurrentRow.Cells[1].Value.ToString();
                p.QtdeProduto            = qtdEstoque;
                p.ValorUnitarioDoProduto = Convert.ToDouble(dgvListarProdutos.CurrentRow.Cells[3].Value);

                if (rbProduto.Checked)
                {
                    p.TipoDoProduto    = "comum";
                    item.HoraDaEntrega = DateTime.Now.ToShortTimeString();//get somente na hora q entregou o prodt na mesa.
                }
                else
                {
                    p.TipoDoProduto    = "porcao";
                    item.HoraDaEntrega = "";
                }

                ProdutoDAO dao = new ProdutoDAO();
                dao.alterarProduto(p);

                item.CodigoProduto = codProduto;                       //codProduto;
                item.QtdeConsumida = Convert.ToInt32(tfQtd.Text);
                item.HoraDoPedido  = DateTime.Now.ToShortTimeString(); //get somente na hora
                itemdao.cadastrarItemDaVenda(item);

                dgvListarProdutos.Rows.Clear();
                carregarTabela();
                dgvListarProdutos.ClearSelection();  // deixando a tabela sem nenhuma linha selecionada
                tfQtd.Clear();
                tfQtd.Enabled = false;

                MessageBox.Show("O produto foi inserido na venda!");

                for (int i = 0; i < mesasVisuais.Count; i++)   //deixando todas as mesas com os botoes desabilitados
                {
                    mesasVisuais[i].desabilitarComponentesDaMesaVisual();
                }
            }
            else
            {
                MessageBox.Show("Estoque insuficiente para esta quantidade do produto.");
                mesasVisuais[5].desabilitarComponentesDaMesaVisual();
                tfQtd.Clear();
            }
        }