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; } }
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!"); } } }
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; } }