public static int ObterMesaDisponivel(int mesaId) { bool mesaDisponivel = false; while (!mesaDisponivel) { Console.Clear(); ViewPrograma.CabecalhoDadosIniciais(); if (!MesaService.ValidarMesa(mesaId)) { ViewPrinter.Println("\t A mesa escolhida não existe! ", ConsoleColor.White, ConsoleColor.Red); } else { ViewPrinter.Println("\t A mesa escolhida não está disponível! ", ConsoleColor.White, ConsoleColor.Red); } Console.WriteLine(); LabelObterDadosMesa(); mesaId = int.Parse(Console.ReadLine()); if (MesaService.ValidarMesa(mesaId) && !MesaService.MesaOcupada(mesaId)) { mesaDisponivel = true; } } return(mesaId); }
public int buscarMesa(DateTime fechaReserva, int cantidadComensales) { Token token = (Token)Session["token"]; _mesaService = new MesaService(token.access_token); List <Mesa> mesas = _mesaService.Obtener(); List <Mesa> mesasConCapcidad = mesas.Where(x => x.CantidadComensales >= cantidadComensales).ToList(); _reservaService = new ReservaService(token.access_token); List <Reserva> reservas = _reservaService.Obtener(); int idMesa = 0; foreach (Mesa mesa in mesasConCapcidad) { DateTime horaDesde = fechaReserva.AddMinutes(-60); DateTime horahasta = fechaReserva.AddMinutes(60); if (reservas == null || reservas.Count == 0) { idMesa = mesa.Id; break; } List <Reserva> reservasMesa = reservas.Where(x => x.IdMesa == mesa.Id && x.FechaReserva.Date == fechaReserva.Date && x.FechaReserva >= horaDesde && x.FechaReserva <= horahasta ).ToList(); if (reservasMesa.Count == 0) { idMesa = mesa.Id; break; } } return(idMesa); }
public MesasViewModel() { instance = this; mesasService = MesaService.GetInstance(); tapCommand = new RelayCommand <MesaResponseModel>((args) => OnTappedAsync(args)); }
public PedidoesController(MesaService mesaService, MenuService menuService, PedidoService pedidoService, FuncionarioService funcionarioService, Ia_ComandaRestauranteContext context) { _context = context; _mesaService = mesaService; _menuService = menuService; _pedidoService = pedidoService; _funcionarioService = funcionarioService; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ValidarSesion(); Usuario usuario = (Usuario)Session["usuario"]; if (usuario.IdTipoUsuario != TipoUsuario.administrador) { linkUsuarios.Attributes.Add("class", "list-group-item d-none"); linkReporteria.Attributes.Add("class", "list-group-item d-none"); if (usuario.IdTipoUsuario != TipoUsuario.bodega) { linkBodega.Attributes.Add("class", "list-group-item d-none"); } if (!new int[] { TipoUsuario.cocina, TipoUsuario.garzon }.Contains(usuario.IdTipoUsuario)) { linkCocina.Attributes.Add("class", "list-group-item d-none"); linkRestaurante.Attributes.Add("class", "list-group-item d-none"); } if (usuario.IdTipoUsuario != TipoUsuario.garzon) { linkRestaurante.Attributes.Add("class", "list-group-item d-none"); } } Token token = (Token)Session["token"]; _mesaService = new MesaService(token.access_token); List <Mesa> mesas = _mesaService.Obtener(); if (mesas != null && mesas.Count > 0) { List <Mesa> mesasDisponibles = mesas.Where(x => x.EstadoMesa.Id == EstadoMesa.disponible).ToList(); List <Mesa> mesasOcupadas = mesas.Where(x => x.EstadoMesa.Id == EstadoMesa.ocupada).ToList(); lblMesasDisponibles.Text = mesasDisponibles.Count.ToString(); lblMesasOcupadas.Text = mesasOcupadas.Count.ToString(); } _reservaService = new ReservaService(token.access_token); List <Reserva> reservas = _reservaService.Obtener(); if (reservas != null && reservas.Count > 0) { List <Reserva> reservasActivas = reservas.Where(x => x.EstadoReserva.Id == EstadoReserva.enCurso).ToList(); lblComensales.Text = reservasActivas.Count.ToString(); List <Reserva> listaProximaReserva = reservas.Where(x => x.EstadoReserva.Id == EstadoReserva.creada && x.FechaReserva.Date == DateTime.Now.Date && x.FechaReserva > DateTime.Now).ToList(); lblProximaReserva.Text = "Sin próximas reservas para hoy"; if (listaProximaReserva != null && listaProximaReserva.Count > 0) { Reserva proximaReserva = listaProximaReserva.OrderBy(x => x.FechaReserva).FirstOrDefault(); if (proximaReserva != null) { lblProximaReserva.Text = proximaReserva.FechaReserva.ToString("g") + " - " + proximaReserva.Mesa.Nombre; } } } } }
public static void LabelObterQuantidadeClientes(int mesaId) { ViewPrinter.Println("\tObtendo quantidade de clientes \t", ConsoleColor.Yellow); Console.WriteLine(); int quantidadeClientes = MesaService.ObterQuantidadeClientes(mesaId); ViewPrinter.Println($"\t * A mesa [{ mesaId }] comporta, no máximo, { quantidadeClientes } pessoas ", ConsoleColor.Black, ConsoleColor.Yellow); Console.WriteLine(); ViewPrinter.Print("\tQuantidade de clientes: "); }
public static void MostrarMesasDisponiveis() { var listaMesas = MesaService.ObterMesas(true); ViewPrinter.Print("\tMesas disponiveis: \n\t"); ViewPrinter.Print(" # ", ConsoleColor.White, ConsoleColor.DarkGreen); foreach (MesaListagemModel mesa in listaMesas) { ViewPrinter.Print($"[{ mesa.MesaId }] ", ConsoleColor.White, ConsoleColor.DarkGreen); } ViewPrinter.Print("# ", ConsoleColor.White, ConsoleColor.DarkGreen); Console.WriteLine(); // ViewPrinter.Print("] ", ConsoleColor.White, ConsoleColor.DarkGreen); }
protected void btnEditarMesa_Click(object sender, EventArgs e) { ValidarSesion(); Page.Validate("ValidacionMesa"); if (!Page.IsValid) { upModalMesa.Update(); return; } try { Mesa mesa = new Mesa(); mesa.Id = int.Parse(txtIdMesa.Text); mesa.Nombre = txtNombreMesa.Text; mesa.Nombre = txtNombreMesa.Text; mesa.CantidadComensales = int.Parse(txtCantidadComensalesMesa.Text); mesa.IdEstadoMesa = int.Parse(ddlEstadoMesa.SelectedValue); Token token = (Token)Session["token"]; _mesaService = new MesaService(token.access_token); bool editar = _mesaService.Modificar(mesa, mesa.Id); if (editar) { List <Mesa> mesas = _mesaService.Obtener(); if (mesas != null && mesas.Count > 0) { actualizarRepeater(listaMesas, mesas, listaMesasVacia); upListaMesas.Update(); } ScriptManager.RegisterStartupScript(Page, Page.GetType(), "editarMesa", "Swal.fire('Mesa editada', '', 'success');", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalMesa", "$('#modalMesa').modal('hide');", true); } else { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalMesa", "Swal.fire('Error al editar mesa', '', 'error');", true); } } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } }
protected void Pagar(int medioPago) { validarIngreso(); if (Session["tipoDocumentoPago"] == null) //No se guardó la info del tipo de pago { Response.Redirect("/Paginas/Autoservicio/GestionAutoservicio.aspx"); } Pedido pedido = (Pedido)Session["pedidoCliente"]; if (Session["montoTarjeta"] == null) //Pago solo con tarjeta, se completa el pago { Token token = (Token)Session["token"]; _mesaService = new MesaService(token.access_token); Reserva reserva = (Reserva)Session["reservaCliente"]; Mesa mesa = reserva.Mesa; mesa.IdEstadoMesa = EstadoMesa.disponible; mesa.EstadoMesa = null; bool editarMesa = _mesaService.Modificar(mesa, mesa.Id); if (!editarMesa) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "cerrarCuenta", "Swal.fire('Error al realizar el pago', '', 'error');", true); return; } pedido.IdEstadoPedido = EstadoPedido.pagado; pedido.Reserva = null; pedido.EstadoPedido = null; _pedidoService = new PedidoService(token.access_token); bool editar = _pedidoService.Modificar(pedido, pedido.Id); if (!editar) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "cerrarCuenta", "Swal.fire('Error al realizar el pago', '', 'error');", true); } } crearDocumentoPago(pedido.Id, pedido.Total, medioPago); Session["pedidoCliente"] = pedido; Response.Redirect("/Paginas/Autoservicio/PagoTarjetaFinalizado.aspx"); }
public static int ObterQuantidadeClientesValida(int mesaId, int quantidadeClientes) { bool quantidadeValida = false; while (!quantidadeValida) { Console.Clear(); ViewPrograma.CabecalhoDadosIniciais(); if (quantidadeClientes <= 0) { ViewPrinter.Println("\t Quantidade de clientes inválida! ", ConsoleColor.White, ConsoleColor.Red); } else if (quantidadeClientes > MesaService.ObterQuantidadeClientes(mesaId)) { ViewPrinter.Println("\t Esta mesa não comporta esta quantidade de pessoas! ", ConsoleColor.White, ConsoleColor.Red); } else { ViewPrinter.Println("\t Valor informado inválido! ", ConsoleColor.White, ConsoleColor.Red); } Console.WriteLine(); LabelObterQuantidadeClientes(mesaId); quantidadeClientes = int.Parse(Console.ReadLine()); if (quantidadeClientes <= MesaService.ObterQuantidadeClientes(mesaId) && quantidadeClientes > 0) { quantidadeValida = true; } } return(quantidadeClientes); }
protected void btnModalEditarMesa_Click(object sender, RepeaterCommandEventArgs e) { try { ValidarSesion(); int idMesa; if (int.TryParse((string)e.CommandArgument, out idMesa)) { Token token = (Token)Session["token"]; _mesaService = new MesaService(token.access_token); Mesa mesa = _mesaService.Obtener(idMesa); if (mesa != null) { tituloModalMesa.Text = "Editar Mesa"; btnCrearMesa.Visible = false; btnEditarMesa.Visible = true; txtIdMesa.Text = mesa.Id.ToString(); txtNombreMesa.Text = mesa.Nombre; txtCantidadComensalesMesa.Text = mesa.CantidadComensales.ToString(); ddlEstadoMesa.SelectedValue = mesa.IdEstadoMesa.ToString(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalMesa", "$('#modalMesa').modal('show');", true); upModalMesa.Update(); } } limpiarTabs(); tabMesas.Attributes.Add("class", "nav-link active"); divMesas.Attributes.Add("class", "tab-pane fade active show"); } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } }
static void Main(string[] args) { Console.Clear(); ViewPrograma.Welcome(); Console.Clear(); // Solicitando dados iniciais Console.WriteLine(); ViewPrinter.Print("\tSEU ATENDIMENTO FOI INICIADO", ConsoleColor.Green); Console.WriteLine(); // Leitura e validacao ID Mesa ViewPrograma.CabecalhoDadosIniciais(); ViewMesa.LabelObterDadosMesa(); int mesaId = int.Parse(Console.ReadLine()); bool mesaDisponivel = MesaService.ValidarMesa(mesaId) && !MesaService.MesaOcupada(mesaId); if (!mesaDisponivel) { mesaId = ViewMesa.ObterMesaDisponivel(mesaId); } ViewMesa.MostrarMesaSelecionada(mesaId); Console.Clear(); // Leitura e validacao ID Comanda ViewPrograma.CabecalhoDadosIniciais(); ViewComanda.LabelObterDadosComanda(); int comandaId = int.Parse(Console.ReadLine()); // bool comandaExistente = !ComandaService.JaExisteComanda(comandaId); // if (!comandaExistente) comandaId = ViewComanda.ObterComandaValida(comandaId); ViewComanda.MostrarComandaSelecionada(comandaId); Console.Clear(); // Leitura e validacao Quantidade de Clientes ViewPrograma.CabecalhoDadosIniciais(); ViewMesa.LabelObterQuantidadeClientes(mesaId); int quantidadeClientes = int.Parse(Console.ReadLine()); bool quantidadeClientesValida = MesaService.QuantidadeClientesValida(mesaId, quantidadeClientes); if (!quantidadeClientesValida) { quantidadeClientes = ViewMesa.ObterQuantidadeClientesValida(mesaId, quantidadeClientes); } ViewMesa.MostrarQuantidadeClientesSelecionada(quantidadeClientes); Console.Clear(); // Criacao do modelo de comanda recebido via formulario var comanda = new ComandaFormularioModelCLI() { ComandaId = comandaId, MesaId = mesaId, QuantidadeCliente = quantidadeClientes }; int tipoExibicaoCardapio = ViewPrograma.EscolhaFormatoExibicaoCardapio(); Console.Clear(); // Salvando comanda no banco de dados ComandaService.RegistrarComanda(comanda); /* * // Mostrando comanda resumida antes de iniciar o loop principal do programa * ViewComanda.MostrarComandaResumida(comandaId); * * ViewPrograma.MensagemContinuarAtendimento(); */ // Executa um loop mostrando o menu principal enquanto nao for explicitamente encerrado ViewPrograma.MostrarMenu(comandaId, tipoExibicaoCardapio); }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { ValidarSesion(); Token token = (Token)Session["token"]; _clienteService = new ClienteService(token.access_token); _reservaService = new ReservaService(token.access_token); _mesaService = new MesaService(token.access_token); _estadoReservaService = new EstadoReservaService(token.access_token); _estadoMesaService = new EstadoMesaService(token.access_token); _horarioReservaService = new HorarioReservaService(token.access_token); List <Reserva> reservas = _reservaService.Obtener(); if (reservas != null && reservas.Count > 0) { var reservasOrdenadas = reservas.OrderByDescending(x => x.FechaReserva).ToList(); actualizarRepeater(listaReservas, reservasOrdenadas, listaReservasVacia); } List <Cliente> clientes = _clienteService.Obtener(); if (clientes != null && clientes.Count > 0) { var clientesOrdenados = clientes.OrderBy(x => x.Id).ToList(); actualizarRepeater(listaClientes, clientesOrdenados, listaClientesVacia); actualizarDdlClientes(clientes); } List <Mesa> mesas = _mesaService.Obtener(); if (mesas != null && mesas.Count > 0) { var mesasOrdenadas = mesas.OrderBy(x => x.Id).ToList(); actualizarRepeater(listaMesas, mesasOrdenadas, listaMesasVacia); actualizarDdlMesas(mesas); } List <EstadoReserva> estadosReserva = _estadoReservaService.Obtener(); if (estadosReserva != null && estadosReserva.Count > 0) { ddlEstadoReserva.DataSource = estadosReserva; ddlEstadoReserva.DataTextField = "Nombre"; ddlEstadoReserva.DataValueField = "Id"; ddlEstadoReserva.DataBind(); ddlEstadoReserva.Items.Insert(0, new ListItem("Seleccionar", "")); ddlEstadoReserva.SelectedIndex = 0; } List <EstadoMesa> estadoMesa = _estadoMesaService.Obtener(); if (estadoMesa != null && estadoMesa.Count > 0) { ddlEstadoMesa.DataSource = estadoMesa; ddlEstadoMesa.DataTextField = "Nombre"; ddlEstadoMesa.DataValueField = "Id"; ddlEstadoMesa.DataBind(); ddlEstadoMesa.Items.Insert(0, new ListItem("Seleccionar", "")); ddlEstadoMesa.SelectedIndex = 0; } List <HorarioReserva> horarioReserva = _horarioReservaService.Obtener(); if (horarioReserva != null && horarioReserva.Count > 0) { var horarioDomingo = horarioReserva.FirstOrDefault(x => x.DiaSemana == 0); horarioReserva.RemoveAt(horarioReserva.FindIndex(x => x.DiaSemana == 0)); horarioReserva.Add(horarioDomingo); listaHorariosReserva.DataSource = horarioReserva; listaHorariosReserva.DataBind(); } } } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } }
protected void btnCrearReserva_Click(object sender, EventArgs e) { Page.Validate(); if (!Page.IsValid) { return; } Token token = (Token)Session["token"]; int idCliente = 0; try { idCliente = crearCliente(); } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } if (idCliente == 0) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorCliente", "Swal.fire('Error al crear cliente', 'Inténtelo nuevamente', 'error');", true); return; } int idReserva = 0; DateTime fechaReserva; try { fechaReserva = Convert.ToDateTime(txtFecha.Text); int hora = int.Parse(ddlHora.Text); int minuto = int.Parse(ddlMinuto.Text); TimeSpan tsHora = new TimeSpan(hora, minuto, 0); fechaReserva = fechaReserva.Date + tsHora; } catch (Exception ex) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', 'Debe seleccionar una fecha válida', 'error');", true); return; } int cantidadComensales = int.Parse(txtComensales.Text); try { _mesaService = new MesaService(token.access_token); List <Mesa> mesas = _mesaService.Obtener(); int maximoComensales = mesas.Max(x => x.CantidadComensales); if (cantidadComensales > maximoComensales) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorComensales", "Swal.fire('El número máximo de comensales por reserva es " + maximoComensales + "', 'Para agregar más comensales puede crear otra reserva', 'warning');", true); return; } int idMesa = buscarMesa(fechaReserva, cantidadComensales); if (idMesa == 0) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorMesa", "Swal.fire('No se encontró una mesa disponible. Seleccione otra fecha u hora', '', 'error');", true); return; } idReserva = guardarReserva(idCliente, idMesa, fechaReserva); } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } if (idReserva == 0) { Response.Redirect("/Paginas/Reservas/MensajeCrearReservaError.aspx"); return; } Response.Redirect("/Paginas/Reservas/MensajeCrearReservaExito.aspx"); }
public MesasController(SistemaPedidosContext context, PedidoService pedidoService, MesaService mesaService) { _context = context; _pedidoService = pedidoService; _mesaService = mesaService; }
public MesasController(MesaService mesaService, Ia_ComandaRestauranteContext context) { _mesaService = mesaService; _context = context; }