Example #1
0
        // GET: Banquetes
        public ActionResult Index(Reservacion.VMFiltroEventos filtroReservaciones, bool listMode = false, bool soloCotizaciones = false)
        {
            List <Banquete> reservaciones = filterReservaciones(filtroReservaciones, soloCotizaciones);

            ViewBag.result           = reservaciones;
            ViewBag.listMode         = listMode;
            ViewBag.soloCotizaciones = soloCotizaciones;

            return(View(filtroReservaciones));
        }
Example #2
0
        /// <summary>
        /// Busca las reservaciones cuyas sesiones entran dentro del rango de tiempo indicado.
        /// </summary>
        /// <param name="filtroReservaciones">Objeto que representa el rango de tiempo de busqueda.</param>
        /// <returns></returns>
        private IEnumerable <Reservacion> filterReservaciones(Reservacion.VMFiltroEventos filtroReservaciones, bool soloCotizaciones = false)
        {
            TimePeriod         periodo       = filtroReservaciones.TimePeriod;
            List <Reservacion> reservaciones = new List <Reservacion>();

            //Se seleccionan las reservaciones cuyas sesiones tienen horarios de inicio o fin dentro del rango de busqueda
            reservaciones = db.reservaciones.Where(res => res.esCotizacion == soloCotizaciones).SelectMany(res => res.sesiones)
                            .Where(s => s.periodoDeSesion.startDate >= periodo.startDate && s.periodoDeSesion.startDate <= periodo.endDate ||
                                   s.periodoDeSesion.endDate >= periodo.startDate && s.periodoDeSesion.endDate <= periodo.endDate)
                            .Select(s => s.reservacion).Distinct().ToList();
            //Se ordenan cronologicamente por fecha de inicio
            reservaciones = reservaciones.OrderByDescending(r => r.fechaEventoInicial).ToList();

            return(reservaciones);
        }
Example #3
0
        public JsonResult apiReservacionesFilter(string from, string to)
        {
            //Se prepara el filtro para buscar las reservaciones
            Reservacion.VMFiltroEventos filtroReservaciones = new Reservacion.VMFiltroEventos();
            if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to))
            {
                DateTime dtRef = Reservacion.ReservacionInScheduleJS.JS_DATE_REF;
                //El cliente esta enviando hora con GMT -7, se corrige
                //TODO: ¿De que manera es posible indicarle al calendario que la fecha debe enviarse en formato universal
                DateTime startDate = dtRef.AddMilliseconds(double.Parse(from)).AddHours(-7);
                DateTime endDate   = dtRef.AddMilliseconds(double.Parse(to)).AddHours(-7);
                filtroReservaciones.TimePeriod = new TimePeriod(startDate, endDate);
            }

            var reservaciones = filterReservaciones(filtroReservaciones);
            List <Reservacion.ReservacionInScheduleJS> itemsForSchedule = new List <Reservacion.ReservacionInScheduleJS>();

            reservaciones.ToList().ForEach(res => Reservacion.ReservacionInScheduleJS.ReservacionInSesionesForScheduleJS(res, ref itemsForSchedule));

            return(Json(new { success = 1, result = itemsForSchedule }, JsonRequestBehavior.AllowGet));
        }