public IActionResult Index()
        {
            // TODO: Check session for userid
            // if no key in session, redirect back to Home->Index
            if (loggedInUser == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var weddings = dbContext.Weddings
                           .Include(w => w.Responses)
                           .OrderByDescending(w => w.Date);

            UserToShow user = new UserToShow
            {
                Id        = loggedInUser.UserId,
                FirstName = loggedInUser.FirstName
            };

            ViewBag.UserId             = loggedInUser;
            ViewBag.VadimsAPainInMyAss = user;

            // weddings moose has responded to
            var responsed = weddings.Where(w => w.Responses.Any(r => r.UserId == 1));

            return(View(weddings.ToList()));
        }
        // GET: Courses
        //[Authorize(Roles = "Teacher")]  Currently Navbar ClassMates goes here
        public async Task <IActionResult> Index()
        {
            var usersToShow = new List <UserToShow>();
            var listOfUsers = await _userManager
                              .Users
                              .Include(u => u.Course)
                              .ToListAsync();

            foreach (ApplicationUser u in listOfUsers)
            {
                var uts = new UserToShow();

                uts.Id      = u.Id;
                uts.LmsName = u.LmsName;
                if (u.Course == null)
                {
                    uts.CourseName = "no course";
                }
                else
                {
                    uts.CourseName = u.Course.Name;
                }
                if (await _userManager.IsInRoleAsync(u, "Teacher"))
                {
                    uts.Role = "Teacher";
                }
                else
                {
                    uts.Role = "Student";
                }

                usersToShow.Add(uts);
            }

            usersToShow       = usersToShow.OrderBy(u => u.LmsName).ToList();
            ViewBag.SortState = ApplicationDbContext.UserSortState.UserAscend;

            return(View(usersToShow));
        }
        public async Task <IActionResult> Details(string id)
        {
            var appUser = await _context.ApplicationUser.FindAsync(id);

            var user2Show = new UserToShow();

            user2Show.LmsName = appUser.LmsName;
            user2Show.Email   = appUser.Email;

            var course = await _context.Course.FindAsync(appUser.CourseId);

            user2Show.CourseName = course == null ? "no course" : course.Name;

            if (await _userManager.IsInRoleAsync(appUser, "Teacher"))
            {
                user2Show.Role = "Teacher";
            }
            else
            {
                user2Show.Role = "Student";
            }

            return(View(user2Show));
        }
        // GET: Courses
        public async Task <IActionResult> ResortIndex(string columnToSort, ApplicationDbContext.UserSortState sortState)
        {
            var usersToShow = new List <UserToShow>();
            var listOfUsers = await _userManager
                              .Users
                              .Include(u => u.Course)
                              .ToListAsync();

            foreach (ApplicationUser u in listOfUsers)
            {
                var uts = new UserToShow();

                uts.Id      = u.Id;
                uts.LmsName = u.LmsName;
                if (u.Course == null)
                {
                    uts.CourseName = "no course";
                }
                else
                {
                    uts.CourseName = u.Course.Name;
                }
                if (await _userManager.IsInRoleAsync(u, "Teacher"))
                {
                    uts.Role = "Teacher";
                }
                else
                {
                    uts.Role = "Student";
                }

                usersToShow.Add(uts);
            }

            switch (columnToSort)
            {
            case "User":
                if (sortState == ApplicationDbContext.UserSortState.UserAscend)
                {
                    usersToShow       = usersToShow.OrderByDescending(u => u.LmsName).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.UserDescend;
                }
                else
                {
                    usersToShow       = usersToShow.OrderBy(u => u.LmsName).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.UserAscend;
                }
                break;

            case "Course":
                if (sortState == ApplicationDbContext.UserSortState.CourseAscend)
                {
                    usersToShow       = usersToShow.OrderByDescending(u => u.CourseName).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.CourseDescend;
                }
                else
                {
                    usersToShow       = usersToShow.OrderBy(u => u.CourseName).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.CourseAscend;
                }
                break;

            case "Role":
                if (sortState == ApplicationDbContext.UserSortState.RoleAscend)
                {
                    usersToShow       = usersToShow.OrderByDescending(u => u.Role).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.RoleDescend;
                }
                else
                {
                    usersToShow       = usersToShow.OrderBy(u => u.Role).ToList();
                    ViewBag.SortState = ApplicationDbContext.UserSortState.RoleAscend;
                }
                break;
            }

            return(View(nameof(Index), usersToShow));
        }
Beispiel #5
0
        public UserToShow GetUserToShow(string userName)
        {
            UserToShow uts = new UserToShow();

            return(uts.GetUserToShow(userName));
        }