public async Task <IHttpActionResult> Post([FromBody] HorarioReserva horarioReserva)
        {
            var idMesa = await _horarioReservaBl.GuardarAsync(horarioReserva);

            if (idMesa == 0)
            {
                throw new Exception("No se pudo crear el horarioReserva");
            }
            return(Ok(idMesa));
        }
예제 #2
0
        public bool Modificar(HorarioReserva horarioReserva, int idHorarioReserva)
        {
            string url       = $"http://localhost/restaurant/api/horarioReservas/{idHorarioReserva}";
            var    respuesta = _restClientHttp.Put <bool>(url, horarioReserva);

            if (respuesta.StatusName != HttpStatusCode.OK)
            {
                return(false);
            }
            return(respuesta.Response);
        }
예제 #3
0
        public int Guardar(HorarioReserva horarioReserva)
        {
            string url       = $"http://localhost/restaurant/api/horarioReservas/";
            var    respuesta = _restClientHttp.Post <int>(url, horarioReserva);

            if (respuesta.StatusName != HttpStatusCode.OK)
            {
                return(0);
            }
            return(respuesta.Response);
        }
        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();
        }
        public Task <int> InsertAsync(HorarioReserva horarioReserva)
        {
            const string spName = "sp_insertHorarioReserva";

            return(_repository.ExecuteProcedureAsync <int>(spName, new Dictionary <string, object>
            {
                { "@p_dia_semana", horarioReserva.DiaSemana },
                { "@p_hora_inicio", horarioReserva.HoraInicio },
                { "@p_hora_fin", horarioReserva.HoraFin },
                { "@p_return", 0 }
            }, CommandType.StoredProcedure));
        }
예제 #6
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;
            }
        }
        public async Task <IHttpActionResult> Put([FromBody] HorarioReserva horarioReserva, int id)
        {
            if (id == 0)
            {
                throw new Exception("El id del horarioReserva debe ser mayor a cero");
            }
            horarioReserva.Id = id;
            var esActualizado = await _horarioReservaBl.ModificarAsync(horarioReserva);

            if (esActualizado == 0)
            {
                throw new Exception("No se pudo actualizar el horarioReserva");
            }
            return(Ok(esActualizado));
        }
 public Task <int> ModificarAsync(HorarioReserva horarioReserva)
 {
     return(_unitOfWork.HorarioReservaDal.UpdateAsync(horarioReserva));
 }
 public Task <int> GuardarAsync(HorarioReserva horarioReserva)
 {
     return(_unitOfWork.HorarioReservaDal.InsertAsync(horarioReserva));
 }