示例#1
0
        private void btnEscolherMesa6_Click(object sender, EventArgs e)
        {
            switch (estadoDaChamada)
            {
            case "abrirVenda":
                Venda v = new Venda();
                v.CodigoDaMesa    = 6;
                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);

                for (int i = 0; i < vendasAtivas.Count; i++)
                {
                    if (vendasAtivas[i].CodigoDaMesa == 6)
                    {
                        vendasAtivas[i].CodigoDaVenda = dao.buscarCodigoDaVenda();
                        break;     // saindo dessa estrutura for.
                    }
                }

                MessageBox.Show("Venda aberta com sucesso!");
                mesasVisuais[3].alterarEstadoDaMesa("abrirVenda");
                this.Close();
                break;     // saindo do case.

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

                    {
                        vendasAtivas[i].HoraDeFechaVenda = DateTime.Now.ToShortTimeString();     //get somente na hora.
                        vendasFinalizadas.Add(vendasAtivas[i]);

                        VendaDAO dao2 = new VendaDAO();
                        dao2.alterarVenda(vendasAtivas[i]);

                        vendasAtivas.Remove(vendasAtivas[i]);               // removendo a venda da lista de vendas ativas.
                        MessageBox.Show("Venda finalizada com sucesso!");
                        mesasVisuais[5].alterarEstadoDaMesa("fecharVenda"); //deixando a mesa livre novamente.
                        this.Close();
                    }
                }
                break;     // saindo do case.

            case "vendasEmAberto":
                int             codigoMesa = 6;
                FrmItensDaVenda f          = new FrmItensDaVenda(vendasAtivas, codigoMesa);
                f.StartPosition = FormStartPosition.CenterScreen;     // centralizando o formulário na tela.
                f.ShowDialog();
                break;
            }
        }
示例#2
0
        private void dgvListarVendas_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int indice = e.RowIndex; //pegando o índice da célula que foi clicada 2 vezes.
            int codVenda, codMesa;

            if (indice >= 0)
            {
                codVenda = Convert.ToInt32(dgvListarVendas.CurrentRow.Cells[0].Value); //cód da venda da linha da tabela.
                codMesa  = Convert.ToInt32(dgvListarVendas.CurrentRow.Cells[1].Value); //cód da venda da linha da tabela.

                if (codVenda != 0)
                {
                    FrmItensDaVenda f = new FrmItensDaVenda(codVenda, codMesa);
                    f.StartPosition = FormStartPosition.CenterScreen; // centralizando o formulário na tela.
                    f.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Não foi possível realizar a operação.\n\n" +
                                    "Selecione uma venda para efetuar a consulta!");
                }
            }
        }
示例#3
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;
            }
        }