protected void cargarHoras(DateTime fecha)
        {
            int   diaSemana = (int)fecha.DayOfWeek;
            Token token     = (Token)Session["token"];

            _horarioReservaService = new HorarioReservaService(token.access_token);
            List <HorarioReserva> listaHorarioReserva = _horarioReservaService.Obtener();
            HorarioReserva        horarioReserva      = listaHorarioReserva.FirstOrDefault(x => x.DiaSemana == diaSemana);

            if (horarioReserva == null)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalReserva", "Swal.fire('No hay horarios disponibles para reservar en la fecha seleccionada', '', 'error');", true);
                return;
            }
            int horaInicioHora = int.Parse(horarioReserva.HoraInicioTime.Substring(0, 2));
            int horaFinHora    = int.Parse(horarioReserva.HoraFinTime.Substring(0, 2));

            List <string> horas = new List <string>();
            DateTime      hoy   = DateTime.Now;

            for (int i = horaInicioHora; i <= horaFinHora; i++)
            {
                string x = i < 10 ? "0" + i.ToString() : i.ToString();
                if (fecha.Date == hoy.Date)
                {
                    if (int.Parse(x) <= int.Parse(hoy.ToString("HH")))
                    {
                        continue;
                    }
                }
                horas.Add(x);
            }
            ddlHora.DataSource = horas;
            ddlHora.DataBind();
            if (horas.Count == 0 && fecha.Date == hoy.Date) //Cargar el día siguiente por defecto
            {
                DateTime diaSiguiente = fecha.AddDays(1);
                txtFecha.Text = diaSiguiente.ToString("yyyy-MM-dd");
                txtFecha.Attributes["min"] = diaSiguiente.ToString("yyyy-MM-dd");
                cargarHoras(diaSiguiente);
            }
            int           horaInicioMinuto = int.Parse(horarioReserva.HoraInicioTime.Substring(3, 2));
            int           horaFinMinuto    = int.Parse(horarioReserva.HoraFinTime.Substring(3, 2));
            List <string> minutos          = new List <string>();

            for (int i = 0; i < 60; i++)
            {
                string x = i < 10 ? "0" + i.ToString() : i.ToString();
                minutos.Add(x);
            }
            ddlMinuto.DataSource = minutos;
            ddlMinuto.DataBind();
        }
Пример #2
0
        protected void btnEditarHorarioReserva_Click(object sender, RepeaterCommandEventArgs e)
        {
            try
            {
                int idHorario;
                if (int.TryParse((string)e.CommandArgument, out idHorario))
                {
                    TextBox txtDiaSemana  = (TextBox)e.Item.FindControl("txtDiaSemana");
                    TextBox txtHoraInicio = (TextBox)e.Item.FindControl("txtHoraInicioHorario");
                    TextBox txtHoraFin    = (TextBox)e.Item.FindControl("txtHoraFinHorario");
                    if (txtHoraInicio.Text.Trim() == string.Empty || txtHoraFin.Text.Trim() == string.Empty)
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "editarHorario", "Swal.fire('Debe seleccionar la hora de inicio y la de fin', '', 'error');", true);
                        return;
                    }
                    DateTime horaInicio       = DateTime.Now;
                    DateTime horaFin          = DateTime.Now;
                    int      horaInicioHora   = int.Parse(txtHoraInicio.Text.Substring(0, 2));
                    int      horaInicioMinuto = int.Parse(txtHoraInicio.Text.Substring(3, 2));
                    TimeSpan tsHoraInicio     = new TimeSpan(horaInicioHora, horaInicioMinuto, 0);
                    horaInicio = horaInicio.Date + tsHoraInicio;

                    int      horaFinHora   = int.Parse(txtHoraFin.Text.Substring(0, 2));
                    int      horaFinMinuto = int.Parse(txtHoraFin.Text.Substring(3, 2));
                    TimeSpan tsHoraFin     = new TimeSpan(horaFinHora, horaFinMinuto, 0);
                    horaFin = horaFin.Date + tsHoraFin;

                    HorarioReserva horario = new HorarioReserva();
                    horario.Id         = idHorario;
                    horario.DiaSemana  = int.Parse(txtDiaSemana.Text);
                    horario.HoraInicio = horaInicio;
                    horario.HoraFin    = horaFin;

                    Token token = (Token)Session["token"];
                    _horarioReservaService = new HorarioReservaService(token.access_token);
                    bool editar = _horarioReservaService.Modificar(horario, idHorario);
                    if (editar)
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "editarHorario", "Swal.fire('Horario guardado correctamente', '', 'success');", true);
                    }
                }
                limpiarTabs();
                tabHorarioReservas.Attributes.Add("class", "nav-link active");
                divHorarioReservas.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;
            }
        }
Пример #3
0
        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;
            }
        }