示例#1
0
        public ActionResult GetUserData(UserTypeToReturn typeToReturn)
        {
            List<UsersViewModel> viewModel = new List<UsersViewModel>();
            string userId = User.Identity.GetUserId();

            switch (typeToReturn)
            {
                case UserTypeToReturn.Administrator:
                    AspUserManager.Users
                       .Where(x => x.Id != userId)
                       .ForEach(x =>
                       {
                           bool isAdmin = AspUserManager.IsInRole(x.Id, "Admin");
                           if (isAdmin)
                           {
                               viewModel.Add(new UsersViewModel
                               {
                                   Id = x.Id,
                                   FirstName = x.FirstName,
                                   LastName = x.LastName,
                                   Email = x.Email,
                                   Role = "Administrator",
                                   IsLocked = AspUserManager.IsLockedOut(x.Id)
                               });
                           }
                       });
                    break;

                case UserTypeToReturn.User:
                    AspUserManager.Users
                        .Where(x => x.Id != userId)
                        .ForEach(x =>
                        {
                            bool isUser = AspUserManager.IsInRole(x.Id, "User");
                            if (isUser)
                            {
                                viewModel.Add(new UsersViewModel
                                {
                                    Id = x.Id,
                                    FirstName = x.FirstName,
                                    LastName = x.LastName,
                                    Email = x.Email,
                                    Role = "Użytkownik",
                                    IsLocked = AspUserManager.IsLockedOut(x.Id)
                                });
                            }
                        });
                    break;

                case UserTypeToReturn.All:
                    AspUserManager.Users
                        .Where(x => x.Id != userId)
                        .ForEach(x => viewModel.Add(new UsersViewModel
                        {
                            Id = x.Id,
                            FirstName = x.FirstName,
                            LastName = x.LastName,
                            Email = x.Email,
                            Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                            IsLocked = AspUserManager.IsLockedOut(x.Id)
                        }));
                    break;

                case UserTypeToReturn.Banned:
                    AspUserManager.Users
                        .Where(x => x.Id != userId)
                        .ForEach(x =>
                        {
                            bool result = AspUserManager.IsLockedOut(x.Id);
                            if (result)
                            {
                                viewModel.Add(new UsersViewModel
                                {
                                    Id = x.Id,
                                    FirstName = x.FirstName,
                                    LastName = x.LastName,
                                    Email = x.Email,
                                    Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                                    IsLocked = true
                                });
                            }
                        });
                    break;

                case UserTypeToReturn.NotBanned:
                    AspUserManager.Users
                        .Where(x => x.Id != userId)
                        .ForEach(x =>
                        {
                            bool result = AspUserManager.IsLockedOut(x.Id);
                            if (!result)
                            {
                                viewModel.Add(new UsersViewModel
                                {
                                    Id = x.Id,
                                    FirstName = x.FirstName,
                                    LastName = x.LastName,
                                    Email = x.Email,
                                    Role = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                                    IsLocked = false
                                });
                            }
                        });
                    break;
            }

            return PartialView("~/Areas/Admin/Views/Shared/UserList.cshtml", viewModel);
        }
示例#2
0
        public ActionResult GetUserData(UserTypeToReturn typeToReturn)
        {
            List <UsersViewModel> viewModel = new List <UsersViewModel>();
            string userId = User.Identity.GetUserId();

            switch (typeToReturn)
            {
            case UserTypeToReturn.Administrator:
                AspUserManager.Users
                .Where(x => x.Id != userId)
                .ForEach(x =>
                {
                    bool isAdmin = AspUserManager.IsInRole(x.Id, "Admin");
                    if (isAdmin)
                    {
                        viewModel.Add(new UsersViewModel
                        {
                            Id        = x.Id,
                            FirstName = x.FirstName,
                            LastName  = x.LastName,
                            Email     = x.Email,
                            Role      = "Administrator",
                            IsLocked  = AspUserManager.IsLockedOut(x.Id)
                        });
                    }
                });
                break;

            case UserTypeToReturn.User:
                AspUserManager.Users
                .Where(x => x.Id != userId)
                .ForEach(x =>
                {
                    bool isUser = AspUserManager.IsInRole(x.Id, "User");
                    if (isUser)
                    {
                        viewModel.Add(new UsersViewModel
                        {
                            Id        = x.Id,
                            FirstName = x.FirstName,
                            LastName  = x.LastName,
                            Email     = x.Email,
                            Role      = "Użytkownik",
                            IsLocked  = AspUserManager.IsLockedOut(x.Id)
                        });
                    }
                });
                break;

            case UserTypeToReturn.All:
                AspUserManager.Users
                .Where(x => x.Id != userId)
                .ForEach(x => viewModel.Add(new UsersViewModel
                {
                    Id        = x.Id,
                    FirstName = x.FirstName,
                    LastName  = x.LastName,
                    Email     = x.Email,
                    Role      = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                    IsLocked  = AspUserManager.IsLockedOut(x.Id)
                }));
                break;

            case UserTypeToReturn.Banned:
                AspUserManager.Users
                .Where(x => x.Id != userId)
                .ForEach(x =>
                {
                    bool result = AspUserManager.IsLockedOut(x.Id);
                    if (result)
                    {
                        viewModel.Add(new UsersViewModel
                        {
                            Id        = x.Id,
                            FirstName = x.FirstName,
                            LastName  = x.LastName,
                            Email     = x.Email,
                            Role      = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                            IsLocked  = true
                        });
                    }
                });
                break;

            case UserTypeToReturn.NotBanned:
                AspUserManager.Users
                .Where(x => x.Id != userId)
                .ForEach(x =>
                {
                    bool result = AspUserManager.IsLockedOut(x.Id);
                    if (!result)
                    {
                        viewModel.Add(new UsersViewModel
                        {
                            Id        = x.Id,
                            FirstName = x.FirstName,
                            LastName  = x.LastName,
                            Email     = x.Email,
                            Role      = AspUserManager.GetRoles(x.Id).FirstOrDefault(),
                            IsLocked  = false
                        });
                    }
                });
                break;
            }

            return(PartialView("~/Areas/Admin/Views/Shared/UserList.cshtml", viewModel));
        }