protected void Page_Load(object sender, EventArgs e) { Session["reservaCreada"] = null; if (!IsPostBack) { _usuarioService = new UsuarioService(string.Empty); var token = _usuarioService.AutenticarCliente(); if (token == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorAutenticar", "Swal.fire('Error', 'Ocurrió un error inesperado. Solicite atención del personal.', 'error');", true); return; } Session["token"] = token; DateTime fecha = DateTime.Now; txtFecha.Text = fecha.ToString("yyyy-MM-dd"); txtFecha.Attributes["min"] = fecha.ToString("yyyy-MM-dd"); cargarHoras(fecha); } }
protected void btnCancelarReserva_Click(object sender, EventArgs e) { Page.Validate(); if (!Page.IsValid) { return; } try { _usuarioService = new UsuarioService(string.Empty); var token = _usuarioService.AutenticarCliente(); if (token == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorAutenticar", "Swal.fire('Error', 'Ocurrió un error inesperado. Solicite atención del personal', 'error');", true); return; } Session["token"] = token; string email = txtEmail.Text; int idReserva = Convert.ToInt32(txtNumeroReserva.Text); _clienteService = new ClienteService(token.access_token); Cliente cliente = _clienteService.ObtenerPorMail(email); _reservaService = new ReservaService(token.access_token); List <Reserva> reservas = _reservaService.Obtener(); if (cliente == null || reservas == null || reservas.Count == 0) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorCliente", "Swal.fire('No se encontró ninguna reserva asociada al e-mail ingresado', '', 'error');", true); return; } Reserva reservaCliente = reservas.FirstOrDefault(x => x.IdCliente == cliente.Id && x.Id == idReserva); if (reservaCliente == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorReserva", "Swal.fire('No se encontró la reserva con el Número ingresado', '', 'error');", true); return; } EstadoReserva ultimoEstado = reservaCliente.EstadosReserva.OrderByDescending(x => x.Fecha).FirstOrDefault(); if (ultimoEstado != null && ultimoEstado.Id == EstadoReserva.finalizada) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorCancelada", "Swal.fire('Esta reserva ya fue finalizada', '', 'warning');", true); return; } if (ultimoEstado != null && ultimoEstado.Id == EstadoReserva.cancelada) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorCancelada", "Swal.fire('Esta reserva ya fue cancelada', '', 'warning');", true); return; } ReservaCambioEstado reservaCambioEstado = new ReservaCambioEstado(); reservaCambioEstado.IdReserva = reservaCliente.Id; reservaCambioEstado.IdEstadoReserva = EstadoReserva.cancelada; bool editar = _reservaService.ModificarEstado(reservaCambioEstado); if (!editar) { Response.Redirect("/Paginas/Reservas/MensajeCancelarReservaError.aspx"); return; } Session["reservaCancelada"] = reservaCliente; Response.Redirect("/Paginas/Reservas/MensajeCancelarReservaExito.aspx"); } 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 btnAutoservicio_Click(object sender, EventArgs e) { //Ingresar al cliente string email = txtEmail.Text; _usuarioService = new UsuarioService(string.Empty); var token = _usuarioService.AutenticarCliente(); if (token == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorAutenticar", "Swal.fire('Error', 'Ocurrió un error inesperado. Solicite atención del personal.', 'error');", true); return; } //Setear y limpiar sesión Session["token"] = token; Session["pedidoCliente"] = null; Session["articulosPedidoCliente"] = null; Session["montoTarjeta"] = null; Session["tipoDocumentoPago"] = null; //Buscar info de la reserva _reservaService = new ReservaService(token.access_token); List <Reserva> reservas = _reservaService.Obtener(); if (reservas == null || reservas.Count == 0) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorPedido", "Swal.fire('Debe registrarse en la entrada', '', 'warning');", true); return; } List <int> idsEstadosReservas = new List <int>() { EstadoReserva.cancelada }; Reserva reservaCliente = reservas.LastOrDefault(x => x.Cliente.Persona.Email == email && x.FechaReserva.Date == DateTime.Now.Date && x.EstadosReserva.Any(y => !idsEstadosReservas.Contains(y.Id)) && x.EstadosReserva.Any(y => y.Id == EstadoReserva.enCurso)); if (reservaCliente == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "errorPedido", "Swal.fire('Debe registrarse en la entrada', '', 'warning');", true); return; } Session["reservaCliente"] = reservaCliente; _pedidoService = new PedidoService(token.access_token); List <Pedido> pedidos = _pedidoService.Obtener(); Pedido pedidoCliente = null; if (pedidos != null && pedidos.Count > 0) { pedidoCliente = pedidos.FirstOrDefault(x => x.Reserva.Id == reservaCliente.Id && x.FechaHoraInicio.Date == DateTime.Now.Date); if (pedidoCliente != null) { switch (pedidoCliente.IdEstadoPedido) { case EstadoPedido.cancelado: ScriptManager.RegisterStartupScript(Page, Page.GetType(), "pedidoCancelado", "Swal.fire('Su pedido fue cancelado. Contacte a un miembro del personal', '', 'warning');", true); break; case EstadoPedido.pagado: Response.Redirect("/Paginas/Autoservicio/PedidoPagado.aspx"); break; default: Response.Redirect("/Paginas/Autoservicio/GestionAutoservicio.aspx"); break; } } else { Response.Redirect("/Paginas/Autoservicio/GestionAutoservicio.aspx"); } } else { Response.Redirect("/Paginas/Autoservicio/GestionAutoservicio.aspx"); } }