public IActionResult Home(string permission = null) { HttpContext.Session.SetString("ref", "dashboard"); if (permission != null) { Permission = permission; if (User.IsInRole(permission)) { if (permission == "Admin") { return(View($"{permission}Home", new DashboardVM { Announcements = _announcementRepository.GetLastAnnouncementsForAdmin() })); } AnnouncementFilterType x = permission == "Student" ? AnnouncementFilterType.AllStudents : AnnouncementFilterType.AllProfessors; return(View($"{permission}Home", new DashboardVM { Announcements = _announcementRepository.GetLastAnnouncements(x) })); } } if (User.IsInRole("Admin")) { Permission = "Admin"; return(View("AdminHome", new DashboardVM { Announcements = _announcementRepository.GetLastAnnouncementsForAdmin() })); } else if (User.IsInRole("Profesor")) { Permission = "Profesor"; return(View("ProfesorHome", new DashboardVM { Announcements = _announcementRepository.GetLastAnnouncements(AnnouncementFilterType.AllProfessors) })); } else if (User.IsInRole("Student")) { Permission = "Student"; return(View("StudentHome", new DashboardVM { Announcements = _announcementRepository.GetLastAnnouncements(AnnouncementFilterType.AllStudents) })); } else { return(RedirectToAction("Login", "Account")); } }
public List <AnnouncementsVM> GetLastAnnouncements(AnnouncementFilterType permission) { return(db.Announcement.Select(x => new AnnouncementsVM { ID = x.ID, Title = x.Title, ShortDescription = x.ShortDescription, AnnouncementFilter = x.FilterType, Description = x.Description, PostOwner = x.PostOwner, RecordCreated = x.RecordCreated, AnnouncementOwnerID = x.AnnouncementOwnerID }).Where(x => x.AnnouncementFilter == AnnouncementFilterType.All || x.AnnouncementFilter == AnnouncementFilterType.AllWithWebsite || x.AnnouncementFilter == permission).OrderByDescending(x => x.RecordCreated).Take(5).ToList()); }