コード例 #1
0
        // GET: Room
        public async Task <IActionResult> Index()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Rooms.CanView)
            {
                List <Room>             rooms             = DAL.GetRooms();
                List <AcademicSemester> academicSemesters = DAL.GetAcademicSemesters();
                List <int> years = new List <int>();
                foreach (AcademicSemester academicSemester in academicSemesters)
                {
                    if (!years.Contains(academicSemester.AcademicYear))
                    {
                        years.Add(academicSemester.AcademicYear);
                    }
                }
                Dictionary <int, List <Section> > roomSections = new Dictionary <int, List <Section> >();
                List <Section> sections = DAL.GetSectionsByAcademicSemesterID(SessionVariables.GetSessionAcademicSemesterID(HttpContext));
                foreach (Room room in rooms)
                {
                    if (!roomSections.ContainsKey(room.ID))
                    {
                        roomSections.Add(room.ID, new List <Section>());
                    }
                    foreach (Section sc in sections)
                    {
                        if (sc.RoomID == room.ID && sc.Course != null)
                        {
                            roomSections[room.ID].Add(sc);
                        }
                    }
                }
                ViewData["AcademicSemesterYear"] = SessionVariables.GetSessionAcademicSemester(HttpContext).AcademicYear;
                ViewData["SemesterID"]           = new SelectList(DAL.GetSemesters(), "ID", "Name", SessionVariables.GetSessionAcademicSemester(HttpContext).SemesterID);
                ViewData["AcademicYears"]        = new SelectList(years, SessionVariables.GetSessionAcademicSemester(HttpContext).AcademicYear);
                ViewData["AcademicSemester"]     = SessionVariables.GetSessionAcademicSemester(HttpContext).Display;
                ViewData["RoomSections"]         = roomSections;
                return(View(rooms));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to view rooms");
                return(RedirectToAction("Index", "Section"));
            }
        }