コード例 #1
0
        // GET: User/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanDelete)
            {
                if (id == null)
                {
                    return(NotFound());
                }
                if (id == currentUser.ID)
                {
                    SessionVariables.SetErrorMessage("You can't delete your own user");
                    return(RedirectToAction("Index"));
                }
                User user = DAL.GetUser((int)id);
                if (user == null)
                {
                    return(NotFound());
                }
                return(View(user));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete users");
                return(RedirectToAction("Index"));
            }
        }
コード例 #2
0
        public ActionResult Create([Bind("ID,Name,Abbreviation")] Campus campus)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanAdd)
            {
                if (ModelState.IsValid)
                {
                    if (DAL.AddCampus(campus) > 0)
                    {
                        SessionVariables.SetSuccessMessage("Campus created successfully");
                    }
                    else
                    {
                        SessionVariables.SetErrorMessage("Campus create failed");
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                return(View(campus));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to create campuses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Number,BuildingID,SeatsAvailable,Details")] Room room)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Rooms.CanEdit)
            {
                if (id != room.ID)
                {
                    return(NotFound());
                }
                if (ModelState.IsValid)
                {
                    if (DAL.UpdateRoom(room) > 0)
                    {
                        SessionVariables.SetSuccessMessage("Room edited successfully");
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        SessionVariables.SetErrorMessage("Room edit failed");
                    }
                }
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit rooms");
                return(RedirectToAction("Index"));
            }
            ViewData["BuildingID"] = new SelectList(DAL.GetBuildings(), "ID", "Name", room.BuildingID);
            return(View(room));
        }
コード例 #4
0
        // GET: Building/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Buildings.CanEdit)
            {
                if (id == null)
                {
                    return(NotFound());
                }

                Building building = DAL.GetBuilding((int)id);
                if (building == null)
                {
                    return(NotFound());
                }
                ViewData["CampusID"] = new SelectList(DAL.GetCampuses(), "ID", "Name", building.CampusID);
                return(View(building));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit buildings");
                return(RedirectToAction("Index"));
            }
        }
コード例 #5
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanDelete)
            {
                if (id == currentUser.ID)
                {
                    SessionVariables.SetErrorMessage("You can't delete your own user");
                    return(RedirectToAction("Index"));
                }
                if (DAL.RemoveUser(id) > 0)
                {
                    SessionVariables.SetSuccessMessage("User deleted successfully");
                }
                else
                {
                    SessionVariables.SetErrorMessage("User delete failed");
                }
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete users");
                return(RedirectToAction("Index"));
            }
        }
コード例 #6
0
        public async Task <IActionResult> Create([Bind("ID,Name,Abbreviation,CampusID")] Building building)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Buildings.CanAdd)
            {
                if (ModelState.IsValid)
                {
                    if (DAL.AddBuilding(building) > 0)
                    {
                        SessionVariables.SetSuccessMessage("Building created successfully");
                    }
                    else
                    {
                        SessionVariables.SetErrorMessage("Building create failed");
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                ViewData["CampusID"] = new SelectList(DAL.GetCampuses(), "ID", "Name", building.CampusID);
                return(View(building));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to create buildings");
                return(RedirectToAction("Index"));
            }
        }
コード例 #7
0
        public ActionResult Edit(int id, [Bind("ID,Name,Abbreviation")] Campus campus)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanEdit)
            {
                if (id != campus.ID)
                {
                    return(NotFound());
                }
                if (ModelState.IsValid)
                {
                    if (DAL.UpdateCampus(campus) > 0)
                    {
                        SessionVariables.SetSuccessMessage("Campus edited successfully");
                    }
                    else
                    {
                        SessionVariables.SetErrorMessage("Campus edit failed");
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                return(View(campus));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit campuses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #8
0
        // GET: Campus/Create
        public ActionResult Create()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanAdd)
            {
                return(View());
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to create campuses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #9
0
        public IActionResult Login()
        {
            if (!DAL.TestConnection())
            {
                SessionVariables.SetErrorMessageStay("Unable to make a connection with the database. Please check with an administrator.");
            }
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Sections.CanView)
            {
                return(RedirectToAction("Index", "Section"));
            }
            return(View());
        }
コード例 #10
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Courses.CanDelete)
            {
                DAL.RemoveCourse(id);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete courses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #11
0
        // GET: User
        public async Task <IActionResult> Index()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanView)
            {
                List <User> users = DAL.GetUsers();
                return(View(users));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to view users");
                return(RedirectToAction("Index", "Section"));
            }
        }
コード例 #12
0
        // GET: User/Create
        public IActionResult Create()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanAdd)
            {
                ViewData["RoleID"] = new SelectList(DAL.GetRoles(), "ID", "Name");
                return(View(new User()));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to create users");
                return(RedirectToAction("Index"));
            }
        }
コード例 #13
0
        // GET: Campus
        public ActionResult Index()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanView)
            {
                List <Campus> campuses = DAL.GetCampuses();
                return(View(campuses));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to view campuses");
                return(RedirectToAction("Index", "Section"));
            }
        }
コード例 #14
0
        public async Task <IActionResult> Create([Bind("ID,DepartmentID,Title,Number,MinimumCredits,MaximumCredits,FixedCredits," +
                                                       "IsFixedCredits,Description,IsCrossListed,IsCrossScheduled,CrossListedCourseID,CrossScheduledCourseID")] Course course)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Courses.CanAdd)
            {
                Course courseToCrossList     = null;
                Course courseToCrossSchedule = null;
                if (ModelState.IsValid)
                {
                    if (!course.IsCrossListed)
                    {
                        course.CrossListedCourseID = -1;
                    }
                    else
                    {
                        courseToCrossList = DAL.GetCourse(course.CrossListedCourseID);
                    }
                    int newCourseID = DAL.AddCourse(course);
                    if (newCourseID > 0 && courseToCrossList != null && courseToCrossList.ID > 0)
                    {
                        courseToCrossList.CrossListedCourseID = newCourseID;
                        DAL.UpdateCourse(courseToCrossList);
                    }
                    if (!course.IsCrossScheduled)
                    {
                        course.CrossScheduledCourseID = -1;
                    }
                    else
                    {
                        courseToCrossSchedule = DAL.GetCourse(course.CrossScheduledCourseID);
                    }
                    if (newCourseID > 0 && courseToCrossSchedule != null && courseToCrossSchedule.ID > 0)
                    {
                        courseToCrossSchedule.CrossScheduledCourseID = newCourseID;
                        DAL.UpdateCourse(courseToCrossSchedule);
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                return(View(course));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to add courses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #15
0
        // GET: Course/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Courses.CanEdit)
            {
                List <Department> departments = DAL.GetDepartments();
                if (id == null)
                {
                    return(NotFound());
                }
                Course course = DAL.GetCourse((int)id);
                if (course == null)
                {
                    return(NotFound());
                }
                ViewData["DepartmentID"] = new SelectList(departments, "ID", "Abbreviation", course.DepartmentID);
                if (course.CrossListedCourseID > 0)
                {
                    course.IsCrossListed = true;
                    ViewData["CrossListedDepartmentID"] = new SelectList(departments, "ID", "Abbreviation", DAL.GetCourse(course.CrossListedCourseID).DepartmentID);
                }
                else
                {
                    course.IsCrossListed = false;
                    ViewData["CrossListedDepartmentID"] = new SelectList(departments, "ID", "Abbreviation");
                }
                if (course.CrossScheduledCourseID > 0)
                {
                    course.IsCrossScheduled = true;
                    ViewData["CrossScheduledDepartmentID"] = new SelectList(departments, "ID", "Abbreviation", DAL.GetCourse(course.CrossScheduledCourseID).DepartmentID);
                }
                else
                {
                    course.IsCrossScheduled = false;
                    ViewData["CrossScheduledDepartmentID"] = new SelectList(departments, "ID", "Abbreviation");
                }
                ViewData["CrossListedCourseNumbers"]    = new SelectList(DAL.GetCourses(), "ID", "NumberAndTitle", course.CrossListedCourseID);
                ViewData["CrossScheduledCourseNumbers"] = new SelectList(DAL.GetCourses(), "ID", "NumberAndTitle", course.CrossScheduledCourseID);
                return(View(course));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit courses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #16
0
 public async Task <IActionResult> Create([Bind("ID,Number,BuildingID,SeatsAvailable,Details")] Room room)
 {
     if (ModelState.IsValid)
     {
         if (DAL.AddRoom(room) > 0)
         {
             SessionVariables.SetSuccessMessage("Room created successfully");
             return(RedirectToAction(nameof(Index)));
         }
         else
         {
             SessionVariables.SetErrorMessage("Room create failed");
         }
     }
     ViewData["BuildingID"] = new SelectList(DAL.GetBuildings(), "ID", "Name", room.BuildingID);
     return(View(room));
 }
コード例 #17
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"));
            }
        }
コード例 #18
0
        // GET: Course/Create
        public IActionResult Create()
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Courses.CanAdd)
            {
                List <Department> departments = DAL.GetDepartments();
                ViewData["DepartmentID"]               = new SelectList(departments, "ID", "Abbreviation");
                ViewData["CrossListedDepartmentID"]    = new SelectList(departments, "ID", "Abbreviation");
                ViewData["CrossScheduledDepartmentID"] = new SelectList(departments, "ID", "Abbreviation");
                return(View(new Course()));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to add courses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #19
0
        public async Task <IActionResult> Create([Bind("ID, Username, Password, RoleID")] User user)
        {
            if (ModelState.IsValid)
            {
                if (DAL.AddUser(user) > 0)
                {
                    SessionVariables.SetSuccessMessage("User created successfully");
                }
                else
                {
                    SessionVariables.SetErrorMessage("User create failed");
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["RoleID"] = new SelectList(DAL.GetRoles(), "ID", "Name");

            return(View(user));
        }
コード例 #20
0
        // GET: Campus/Delete/5
        public ActionResult Delete(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanDelete)
            {
                if (id == null)
                {
                    return(NotFound());
                }
                Campus campus = DAL.GetCampus((int)id);
                return(View(campus));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete campuses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #21
0
        public async Task <IActionResult> Create([Bind("ID, Name", "Abbreviation")] Department department)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Departments.CanAdd)
            {
                if (ModelState.IsValid)
                {
                    DAL.AddDepartment(department);
                    return(RedirectToAction(nameof(Index)));
                }
                ViewData["DepartmentID"] = new SelectList(DAL.GetDepartments(), "ID", "Name");
                return(View(department));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to create departments");
                return(RedirectToAction("Index"));
            }
        }
コード例 #22
0
 public IActionResult Login([Bind("Username, Password")] User user)
 {
     if (!DAL.TestConnection())
     {
         SessionVariables.SetErrorMessageStay("Unable to make a connection with the database. Please check with an administrator.");
         return(View());
     }
     if (ModelState.IsValid)
     {
         User currentUser = DAL.GetUser(user.Username, user.Password);
         if (currentUser != null)
         {
             SessionVariables.SetCurrentUserID(HttpContext, currentUser.ID);
             SessionVariables.SetSuccessMessage("Logged in");
             return(RedirectToAction("Index", "Section"));
         }
         SessionVariables.SetErrorMessage("Error logging in, Check username and password");
         user.Password = "";
         return(View(user));
     }
     return(View());
 }
コード例 #23
0
        public ActionResult DeleteConfirmed(int id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Campuses.CanDelete)
            {
                if (DAL.RemoveCampus(id) > 0)
                {
                    SessionVariables.SetSuccessMessage("Campus deleted successfully");
                }
                else
                {
                    SessionVariables.SetErrorMessage("Campus delete failed");
                }
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete campuses");
                return(RedirectToAction("Index"));
            }
        }
コード例 #24
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Rooms.CanDelete)
            {
                if (DAL.RemoveRoom(id) > 0)
                {
                    SessionVariables.SetSuccessMessage("Room deleted successfully");
                    return(RedirectToAction("Index"));
                }
                else
                {
                    SessionVariables.SetErrorMessage("Room delete failed");
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete rooms");
                return(RedirectToAction("Index"));
            }
        }
コード例 #25
0
        // GET: User/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanView)
            {
                if (id == null)
                {
                    return(NotFound());
                }
                User user = DAL.GetUser((int)id);
                if (user == null)
                {
                    return(NotFound());
                }
                return(View(user));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to view users");
                return(RedirectToAction("Index", "Section"));
            }
        }
コード例 #26
0
        // GET: Building/Delete/5
        public async Task <IActionResult> Delete(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Buildings.CanDelete)
            {
                if (id == null)
                {
                    return(NotFound());
                }
                Building building = DAL.GetBuilding((int)id);
                if (building == null)
                {
                    return(NotFound());
                }
                return(View(building));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to delete buildings");
                return(RedirectToAction("Index"));
            }
        }
コード例 #27
0
        // GET: User/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanEdit)
            {
                if (id == null)
                {
                    return(NotFound());
                }
                User user = DAL.GetUser((int)id);
                if (user == null)
                {
                    return(NotFound());
                }
                ViewData["RoleID"] = new SelectList(DAL.GetRoles(), "ID", "Name", user.RoleID);
                return(View(user));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit users");
                return(RedirectToAction("Index"));
            }
        }
コード例 #28
0
        public async Task <IActionResult> Edit(int id, [Bind("ID, Username, Password, RoleID")] User user)
        {
            User currentUser = SessionVariables.GetCurrentUser(HttpContext);

            if (currentUser != null && currentUser.Role != null && currentUser.Role.Users.CanEdit)
            {
                if (id != user.ID)
                {
                    return(NotFound());
                }
                if (currentUser.ID == id && currentUser.RoleID != user.RoleID)
                {
                    SessionVariables.SetErrorMessage("You cannot change your own role");
                    return(RedirectToAction("index"));
                }
                if (ModelState.IsValid)
                {
                    if (DAL.UpdateUser(user) > 0)
                    {
                        SessionVariables.SetSuccessMessage("User edited successfully");
                    }
                    else
                    {
                        SessionVariables.SetErrorMessage("User edit failed");
                    }
                    return(RedirectToAction(nameof(Index)));
                }
                ViewData["RoleID"] = new SelectList(DAL.GetUsers(), "ID", "Name");
                return(View(user));
            }
            else
            {
                SessionVariables.SetErrorMessage("You do not have permission to edit users");
                return(RedirectToAction("index"));
            }
        }
コード例 #29
0
 private void RefreshData(HttpContext httpContext)
 {
     _Sections = DAL.GetSectionsByAcademicSemesterID(SessionVariables.GetSessionAcademicSemesterID(httpContext));
 }
コード例 #30
0
 public IActionResult Logout()
 {
     SessionVariables.SetCurrentUserID(HttpContext, -1);
     SessionVariables.LoggedIn = false;
     return(RedirectToAction("Login", "User"));
 }