예제 #1
0
        public IActionResult Index(ScheduleForWeek scheduleForWeek)
        {
            var       sessionSortState = HttpContext.Session.GetString("SortStateScheduleForWeek");
            SortState sortOrder        = new SortState();

            if (sessionSortState != null)
            {
                sortOrder = (SortState)Enum.Parse(typeof(SortState), sessionSortState);
            }

            int?page = HttpContext.Session.GetInt32("ScheduleForWeekPage");

            if (page == null)
            {
                page = 0;
                HttpContext.Session.SetInt32("ScheduleForWeekPage", 0);
            }

            IQueryable <ScheduleForWeek> schedulesForWeek = Sort(_context.SchedulesForWeek, sortOrder,
                                                                 scheduleForWeek.StartTime, (int)page);

            HttpContext.Session.SetObject("Patient", scheduleForWeek);

            ScheduleForWeeksViewModel schedulesForWeekView = new ScheduleForWeeksViewModel
            {
                ScheduleForWeekViewModel = scheduleForWeek,
                PageViewModel            = schedulesForWeek,
                PageNumber = (int)page
            };

            return(View(schedulesForWeekView));
        }
예제 #2
0
        public IActionResult Index(SortState sortOrder = SortState.No, int index = 0)
        {
            ScheduleForWeek sessionScheduleForWeek = HttpContext.Session.GetObject <ScheduleForWeek>("Patient");
            string          sessionSortState       = HttpContext.Session.GetString("SortStatePatient");
            int?            page = HttpContext.Session.GetInt32("Page");

            if (page == null)
            {
                page = 0;
                HttpContext.Session.SetInt32("Page", 0);
            }
            else
            {
                if (!(page < 1 && index < 0))
                {
                    page += index;
                }
                HttpContext.Session.SetInt32("Page", (int)page);
            }

            if (sessionScheduleForWeek != null)
            {
                _scheduleForWeek = sessionScheduleForWeek;
            }

            if (sessionSortState != null)
            {
                if (sortOrder == SortState.No)
                {
                    sortOrder = (SortState)Enum.Parse(typeof(SortState), sessionSortState);
                }
            }

            ViewData["NameSort"] = sortOrder == SortState.NameDesc ? SortState.NameAsc : SortState.NameDesc;
            HttpContext.Session.SetString("SortState", sortOrder.ToString());
            IQueryable <ScheduleForWeek> ScheduleForWeeks = Sort(db.SchedulesForWeek, sortOrder,
                                                                 _scheduleForWeek.StartTime, (int)page);
            ScheduleForWeeksViewModel scheduleForWeeksView = new ScheduleForWeeksViewModel
            {
                ScheduleForWeekViewModel = _scheduleForWeek,
                PageViewModel            = ScheduleForWeeks,
                PageNumber = (int)page
            };

            return(View(scheduleForWeeksView));
        }
예제 #3
0
        public IActionResult Index(SortState sortOrder)
        {
            ScheduleForWeek sessionScheduleForWeek = HttpContext.Session.GetObject <ScheduleForWeek>("ScheduleForWeek");
            string          sessionSortState       = HttpContext.Session.GetString("SortStateScheduleForWeek");
            int?            page = HttpContext.Session.GetInt32("ScheduleForWeekPage");

            if (page == null)
            {
                page = 0;
                HttpContext.Session.SetInt32("ScheduleForWeekPage", 0);
            }

            if (sessionScheduleForWeek != null)
            {
                _scheduleForWeek = sessionScheduleForWeek;
            }

            if (sessionSortState != null)
            {
                if (sortOrder == SortState.No)
                {
                    sortOrder = (SortState)Enum.Parse(typeof(SortState), sessionSortState);
                }
            }

            ViewData["NameSort"] = sortOrder == SortState.NameDesc ? SortState.NameAsc : SortState.NameDesc;
            HttpContext.Session.SetString("SortState", sortOrder.ToString());
            IQueryable <ScheduleForWeek> SchedulesForWeek = Sort(_context.SchedulesForWeek, sortOrder,
                                                                 _scheduleForWeek.StartTime, (int)page);

            foreach (var item in SchedulesForWeek)
            {
                item.TVShow = _context.TVShows.Where(o => o.TVShowID == item.TVShowID).FirstOrDefault();
            }

            ScheduleForWeeksViewModel SchedulesForWeekView = new ScheduleForWeeksViewModel
            {
                ScheduleForWeekViewModel = _scheduleForWeek,
                PageViewModel            = SchedulesForWeek,
                PageNumber = (int)page
            };

            return(View(SchedulesForWeekView));
        }