コード例 #1
0
        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"));
            }
        }
コード例 #2
0
 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());
 }