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);
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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");
            }
        }