Exemplo n.º 1
0
        public void carregarPorcoesParaEntregarDaMesa(int nroMesa)
        {
            string nomePorcao;     double valorUnitario;

            List <ItensDaVenda> itensDaVenda = new List <ItensDaVenda>();
            List <Produto>      porcoes      = new List <Produto>();

            ProdutoDAO dao2 = new ProdutoDAO();

            porcoes = dao2.buscarPorcoes();

            ItensDaVendaDAO dao = new ItensDaVendaDAO();

            for (int i = 0; i < vendasAtivas.Count; i++)
            {
                if (vendasAtivas[i].CodigoDaMesa == nroMesa)    //pegando a venda desta mesa.
                {
                    itensDaVenda = dao.buscarItensDeUmaVenda(vendasAtivas[i].CodigoDaVenda);

                    for (int j = 0; j < itensDaVenda.Count; j++)   // verificando quais produtos são desta venda.
                    {
                        if (vendasAtivas[i].CodigoDaVenda == itensDaVenda[j].CodigoVenda)
                        {
                            if (itensDaVenda[j].HoraDaEntrega == "")   //verificando se é o produto é uma porção.

                            {
                                for (int k = 0; k < porcoes.Count; k++)   // pegando o nome e o valor unitário desta porção
                                {
                                    if (porcoes[k].CodigoProduto == itensDaVenda[j].CodigoProduto)
                                    {
                                        nomePorcao    = porcoes[k].NomeDoProduto;
                                        valorUnitario = porcoes[k].ValorUnitarioDoProduto;

                                        dgvListarPorcoes.Rows.Add(itensDaVenda[j].CodigoProduto, nomePorcao, itensDaVenda[j].QtdeConsumida, valorUnitario.ToString("c"));
                                        //aqui adiciono na linha da tabela
                                    }
                                }
                            }
                        }
                    }

                    break;
                }
            }
        }
Exemplo n.º 2
0
        // OK
        private void btnConfirmarEntrega_Click(object sender, EventArgs e)
        {
            int codPorcao;

            codPorcao = Convert.ToInt32(dgvListarPorcoes.CurrentRow.Cells[0].Value);//codigo da porcao da linha da tabela.

            List <ItensDaVenda> itensDaVenda = new List <ItensDaVenda>();
            ItensDaVendaDAO     dao          = new ItensDaVendaDAO();

            for (int i = 0; i < vendasAtivas.Count; i++)
            {
                if (vendasAtivas[i].CodigoDaMesa == nroMesa)   //pegando a venda desta mesa.
                {
                    itensDaVenda = dao.buscarItensDeUmaVenda(vendasAtivas[i].CodigoDaVenda);

                    for (int j = 0; j < itensDaVenda.Count; j++)                                             //pegando o item correto da venda para alterar
                    {
                        if (itensDaVenda[j].CodigoProduto == codPorcao)                                      //se for igual ao codigo da porcao que vem da tabela.
                        {
                            itensDaVenda[j].HoraDaEntrega = DateTime.Now.ToShortTimeString();                //setando a hr de entrega da porcao.

                            dao.alterarItemDaVenda(itensDaVenda[j], itensDaVenda[j].CodigoVenda, codPorcao); //alterando a hr de entrega da porcao.
                            MessageBox.Show("A porção foi entregue!");

                            dgvListarPorcoes.Rows.Clear();
                            //dgvListarPorcoes.ClearSelection();  // deixando a tabela sem nenhuma linha selecionada
                            btnConfirmarEntrega.Enabled = false; // desabilitando o botao de confirmar entrega.
                            carregarPorcoesParaEntregarDaMesa(nroMesa);
                            break;                               //sai da segunda estrutura for
                        }
                    }

                    break;     //sai da primeira estrutura for
                }
            }
        }
Exemplo n.º 3
0
        public void carregarItensVendaDaMesa(string tipoDaConsulta)
        {
            switch (tipoDaConsulta)
            {
            case "apenasVendasAbertas":
                for (int i = 0; i < vendasAtivas.Count; i++)
                {
                    if (vendasAtivas[i].CodigoDaMesa == codMesa)       //pegando esta venda da lista de vendas ativas
                                                                       //executa todos os comandos e depois da o break.
                    {
                        ItensDaVendaDAO dao = new ItensDaVendaDAO();
                        itensDaVenda = dao.buscarItensDeUmaVenda(codVenda);

                        foreach (ItensDaVenda item in itensDaVenda)
                        {
                            String nomeProduto   = "";
                            double valorUnitario = 0;
                            //um produto comum tem o pedido entregue na hora. Entao a horaPedido é = a da horaEntrega
                            if (item.HoraDoPedido.Equals(item.HoraDaEntrega))
                            {
                                for (int k = 0; k < produtos.Count; k++)       //percorrendo a lista de produtos para recuperar o nome
                                                                               // e o valor unitário do produto para setar na tabela
                                {
                                    if (produtos[k].CodigoProduto == item.CodigoProduto)
                                    {
                                        nomeProduto   = produtos[k].NomeDoProduto;
                                        valorUnitario = produtos[k].ValorUnitarioDoProduto;
                                        break;
                                    }
                                }

                                dgvItensDaVenda.Rows.Add(codVenda, codMesa, "Comum", nomeProduto, item.QtdeConsumida, valorUnitario.ToString("c"));
                            }
                            else
                            {
                                for (int k = 0; k < porcoes.Count; k++)           //percorrendo a lista de produtos para recuperar o nome
                                                                                  // e o valor unitário do produto para setar na tabela
                                {
                                    if (porcoes[k].CodigoProduto == item.CodigoProduto)
                                    {
                                        nomeProduto   = porcoes[k].NomeDoProduto;
                                        valorUnitario = porcoes[k].ValorUnitarioDoProduto;
                                        break;
                                    }
                                }

                                dgvItensDaVenda.Rows.Add(codVenda, codMesa, "Porção", nomeProduto, item.QtdeConsumida, valorUnitario.ToString("c"));
                            }
                        }

                        break;      //saindo da estrutura for.
                    }
                }

                break;

            case "apenasVendasFinalizadas":
                for (int i = 0; i < vendasFinalizadasBD.Count; i++)
                {
                    if (vendasFinalizadasBD[i].CodigoDaVenda == codVenda)       //pegando a venda com o codigo vindo
                                                                                // da tabela do frm anterior a esse.
                    {
                        ItensDaVendaDAO dao = new ItensDaVendaDAO();
                        itensDaVenda = dao.buscarItensDeUmaVenda(codVenda);

                        foreach (ItensDaVenda item in itensDaVenda)
                        {
                            String nomeProduto   = "";
                            double valorUnitario = 0;
                            //um produto comum tem o pedido entregue na hora. Entao a horaPedido é = a da horaEntrega
                            if (item.HoraDoPedido.Equals(item.HoraDaEntrega))
                            {
                                for (int k = 0; k < produtos.Count; k++)       //percorrendo a lista de produtos para recuperar o nome
                                                                               // e o valor unitário do produto para setar na tabela
                                {
                                    if (produtos[k].CodigoProduto == item.CodigoProduto)
                                    {
                                        nomeProduto   = produtos[k].NomeDoProduto;
                                        valorUnitario = produtos[k].ValorUnitarioDoProduto;
                                        break;
                                    }
                                }

                                dgvItensDaVenda.Rows.Add(codVenda, codMesa, "Comum", nomeProduto, item.QtdeConsumida, valorUnitario.ToString("c"));
                            }
                            else
                            {
                                for (int k = 0; k < porcoes.Count; k++)           //percorrendo a lista de produtos para recuperar o nome
                                // e o valor unitário do produto para setar na tabela
                                {
                                    if (porcoes[k].CodigoProduto == item.CodigoProduto)
                                    {
                                        nomeProduto   = porcoes[k].NomeDoProduto;
                                        valorUnitario = porcoes[k].ValorUnitarioDoProduto;
                                        break;
                                    }
                                }

                                dgvItensDaVenda.Rows.Add(codVenda, codMesa, "Porção", nomeProduto, item.QtdeConsumida, valorUnitario.ToString("c"));
                            }
                        }

                        break;      //saindo da estrutura for.
                    }
                }

                break;
            }
        }
Exemplo n.º 4
0
        private void btnEscolherMesa1_Click(object sender, EventArgs e)
        {
            switch (estadoDaChamada)
            {
            case "abrirVenda":
                Venda v = new Venda();
                v.CodigoDaMesa    = 1;
                v.DataDaVenda     = DateTime.Now.ToShortDateString();       //get somente na data
                v.HoraDeAbreVenda = DateTime.Now.ToShortTimeString();       //get somente na hora.
                v.ValorTotalVenda = 0;

                vendasAtivas.Add(v);

                VendaDAO dao = new VendaDAO();
                dao.cadastrarVenda(v);

                //Esse laço serve para recuperar o código da venda que acabou de ser aberta e setar dentro da lista.
                for (int i = 0; i < vendasAtivas.Count; i++)
                {
                    if (vendasAtivas[i].CodigoDaMesa == 1)
                    {
                        vendasAtivas[i].CodigoDaVenda = dao.buscarCodigoDaVenda();
                        break;     // saindo dessa estrutura for.
                    }
                }

                MessageBox.Show("Venda aberta com sucesso!");
                mesasVisuais[0].alterarEstadoDaMesa("abrirVenda"); // funcionando ok !
                this.Close();                                      // fechando formulário atual
                break;                                             // saindo do case.

            case "fecharVenda":
                for (int i = 0; i < vendasAtivas.Count; i++)       // percorrendo a lista das vendas ativas.
                {
                    if (vendasAtivas[i].CodigoDaMesa == 1)         // pegando a venda desta mesa.

                    //Agora recupera os itens dessa venda para verificar se ainda existe alguma porção nao entregue.
                    //Não pode deixar fechar uma venda se ainda existir porções sendo feitas na cozinha para a mesa.
                    {
                        List <ItensDaVenda> itensVenda = new List <ItensDaVenda>();
                        ItensDaVendaDAO     itensDAO   = new ItensDaVendaDAO();

                        itensVenda = itensDAO.buscarItensDeUmaVenda(vendasAtivas[i].CodigoDaVenda);
                        bool existePorcoesDaMesaNaCozinha = false;

                        //Percorrendo a lista de itens da venda para verificar se existe alguma porção não entregue.
                        for (int j = 0; j < itensVenda.Count; j++)
                        {
                            if (itensVenda[j].HoraDaEntrega == "")
                            {
                                existePorcoesDaMesaNaCozinha = true;
                                break;
                            }
                        }

                        if (!existePorcoesDaMesaNaCozinha)
                        {
                            vendasAtivas[i].HoraDeFechaVenda = DateTime.Now.ToShortTimeString();     //setando a hora
                            vendasFinalizadas.Add(vendasAtivas[i]);

                            VendaDAO dao2 = new VendaDAO();                     //Aqui só serve para alterar a hora em que a venda foi
                            dao2.alterarVenda(vendasAtivas[i]);                 //finalizada pq qdo abre a venda, ela ja é salva no banco.

                            vendasAtivas.Remove(vendasAtivas[i]);               // removendo esta venda da lista de vendas ativas.
                            MessageBox.Show("Venda finalizada com sucesso!");
                            mesasVisuais[0].alterarEstadoDaMesa("fecharVenda"); //deixando a mesa livre novamente.
                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("Não é possível fechar a venda. " +
                                            "Existe alguma porção na cozinha que ainda não foi entregue " +
                                            "para essa mesa no momento.");
                        }
                    }
                }
                break;     // saindo do case.

            case "vendasEmAberto":
                int             codigoMesa = 1;
                FrmItensDaVenda f          = new FrmItensDaVenda(vendasAtivas, codigoMesa);
                f.StartPosition = FormStartPosition.CenterScreen;     // centralizando o formulário na tela.
                f.ShowDialog();
                break;
            }
        }
Exemplo n.º 5
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();
            }
        }