Пример #1
0
        public ActionResult Create(AdminUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                var role = model.RoleName;

                var user = new ApplicationUser()
                {
                    UserName     = model.Email,
                    Email        = model.Email,
                    FistName     = model.FistName,
                    LastName     = model.LastName,
                    Organization = model.Organization,
                    City         = model.City,
                    Country      = model.Country,
                    RoleName     = model.RoleName,
                    Orders       = new List <Order>()
                };


                IdentityResult result = UserManager.Create(user, model.Password);
                _db.AddUserToRole(UserManager, user.Id, model.RoleName);
                _db.SaveChanges();

                return(RedirectToAction("Index", "AdminUser"));
            }
            else
            {
                return(View());
            }
        }
Пример #2
0
        public ActionResult Add()
        {
            var viewModel = new AdminUserViewModel();

            viewModel.DeptSelectList = new SelectList(_deptRep.GetAll(), "Id", "DeptName");
            return(View(viewModel));
        }
        // GET: Admin/Edit/5
        public ActionResult Edit(string Id)
        {
            if (Id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // assemble AdminUserViewModel for passed Id
            ApplicationUser appUser = ac.Users.Where(a => a.Id == Id).FirstOrDefault();
            User            person  = bc.Users.Where(a => a.UserID == Id).FirstOrDefault();
            UserProfile     profile = bc.UserProfiles.Where(a => a.UserID == Id).FirstOrDefault();

            // gets RoleId from user data and converts to role name
            string roleId   = appUser.Roles.Where(a => a.UserId == Id).Select(a => a.RoleId).FirstOrDefault();
            string roleName = ac.Roles.Where(a => a.Id == roleId).Select(a => a.Name).FirstOrDefault();

            // gets first entry from favorite places - Linq does not like Split
            string favPlace = (profile.FavoritePlace ?? "BLAH").Split(',')[0];
            string place    = bc.Places.Where(a => a.PlaceID == favPlace).Select(a => a.Name).FirstOrDefault() ?? "N/A";
            string homeTown = bc.Places.Where(a => a.PlaceID == profile.HomeTown).Select(a => a.Name).FirstOrDefault() ?? "N/A";

            //counts number of flagged submissions by type. Flags have been converted to a table.
            int postFlag   = bc.Flags.Count(a => a.Post.UserID == Id);
            int reviewFlag = bc.Flags.Count(a => a.Review.UserID == Id);
            //int reviewFlag = bc.Reviews.Count(a => a.UserID == Id && a.Flag > 0);

            bool lockOutEnabled = appUser.LockoutEnabled;

            AdminUserViewModel vm = new AdminUserViewModel(appUser, person, profile, roleName, place, homeTown, postFlag, reviewFlag);

            return(View(vm));
        }
Пример #4
0
        // GET: Admin/Details/5
        public ActionResult Details(string Id)
        {
            if (Id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            // assemble AdminUserViewModel for passed Id
            ApplicationUser appUser = ac.Users.Where(a => a.Id == Id).FirstOrDefault();
            User            person  = bc.Users.Where(a => a.UserID == Id).FirstOrDefault();
            UserProfile     profile = bc.UserProfiles.Where(a => a.UserID == Id).FirstOrDefault();
            string          rid     = appUser.Roles.Where(a => a.UserId == Id).Select(a => a.RoleId).FirstOrDefault();
            string          role    = ac.Roles.Where(a => a.Id == rid).Select(a => a.Name).FirstOrDefault();

            string favPlace       = (profile.FavoritePlace ?? "BLAH").Split(',')[0];
            string place          = bc.Places.Where(a => a.PlaceID == favPlace).Select(a => a.Name).FirstOrDefault() ?? "N/A";
            string homeTown       = bc.Places.Where(a => a.PlaceID == profile.HomeTown).Select(a => a.Name).FirstOrDefault();
            int    postFlag       = bc.Posts.Count(a => a.UserID == Id && a.Flag > 0);
            int    reviewFlag     = bc.Reviews.Count(a => a.UserID == Id && a.Flag > 0);
            bool   lockOutEnabled = appUser.LockoutEnabled;


            AdminUserViewModel vm = new AdminUserViewModel(appUser, person, profile, role, place, homeTown, postFlag, reviewFlag);

            return(View(vm));
        }
Пример #5
0
        // GET: Admin
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            // Tanvir(23/12/16): Creating Paged List

            ViewBag.CurrentSort = sortOrder;
            var Users = from u in bc.Users
                        select u;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            if (!String.IsNullOrEmpty(searchString))
            {
                Users = Users.Where(u => u.LastName.ToLower().Contains(searchString.ToLower()) || u.FirstName.ToLower().Contains(searchString.ToLower()));
            }

            int pageSize   = 20;
            int pageNumber = (page ?? 1);

            // End of PagedList


            // Create ViewModel to run list function
            AdminUserViewModel vm = new AdminUserViewModel();
            // Assemble lists to be passed to list function
            List <AdminUserViewModel> viewModels       = new List <AdminUserViewModel>();
            List <ApplicationUser>    applicationUsers = ac.Users.ToList();
            List <User>        users        = Users.ToList();
            List <UserProfile> userProfiles = bc.UserProfiles.ToList();
            List <Place>       places       = bc.Places.ToList();
            List <Review>      reviews      = bc.Reviews.ToList();
            List <Post>        posts        = bc.Posts.ToList();
            List <Post>        postFlags    = bc.Posts.Where(i => i.Flag == 1).ToList();
            List <Review>      reviewFlags  = bc.Reviews.Where(i => i.Flag == 1).ToList();

            //pass data to list function
            vm.AdminUserList(viewModels,
                             users,
                             userProfiles,
                             places,
                             applicationUsers,
                             posts,
                             postFlags,
                             reviews,
                             reviewFlags
                             );
            // for each viewModel, convert Id hash store in Role to name of role
            foreach (AdminUserViewModel viewModel in viewModels)
            {
                viewModel.Role = ac.Roles.Where(a => a.Id == viewModel.Role).Select(a => a.Name).FirstOrDefault();
            }

            return(View(viewModels.ToPagedList(pageNumber, pageSize)));
        }
        public ActionResult PutAdminUser(AdminUserViewModel adminUserViewModel)
        {
            if (Session["LoggedIn"] == null || Session["LoggedIn"].Equals(false))
            {
                return(RedirectToRoute(new
                {
                    controller = "Home",
                    action = "Index"
                }));
            }

            var adminUserBLL = new AdminUserModelBLL()
            {
                UserName = adminUserViewModel.UserName,
                Password = adminUserViewModel.Password
            };

            var result = _adminUserLogic.Update(adminUserBLL);

            if (result)
            {
                TempData["SuccessMessage"] = "Admin updated successfully";
                return(RedirectToAction("Index"));
            }
            else
            {
                TempData["ErrorMessage"] = "Could not update admin user";
                return(RedirectToAction("EditOrCreateMovie", adminUserBLL.UserName));
            }
        }
Пример #7
0
        // GET: Admin/Edit/5
        public async Task <ActionResult> EditUser(string id)
        {
            try
            {
                var user = UserManager.Users.Where(x => x.Id == id);

                var au = await user.FirstOrDefaultAsync();

                var userModel = new AdminUserViewModel();
                if (au == null)
                {
                    return(RedirectToAction("Index"));
                }
                userModel.ApplicationUser = au;
                var task = au.Roles.Count > 0 ? RoleManager.FindByIdAsync(au.Roles.First().RoleId) : null;
                if (task != null)
                {
                    userModel.IdentityRole = await task;
                }
                return(View(userModel));
            }
            catch (Exception)
            {
                return(View("Index"));
            }
        }
Пример #8
0
        public async Task <IActionResult> CreateUser(AdminUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Password == model.ConfirmPassword)
                {
                    var user = new User
                    {
                        FirstName = model.FirstName,
                        LastName  = model.LastName,
                        UserName  = model.Email,
                        Email     = model.Email,
                    };

                    var result = await _userManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        var role = await _roleManager.FindByIdAsync(model.RoleId);

                        await _userManager.AddToRoleAsync(user, role.Name);

                        return(RedirectToAction("UserList"));
                    }
                }
            }
            return(View(model));
        }
Пример #9
0
        public ActionResult Password(AdminUserViewModel vm)
        {
            if (ModelState.IsValid)
            {
                AdminUser user = this.userTasks.GetAdminUser(vm.Id);
                if (user == null)
                {
                    return(new HttpNotFoundResult());
                }
                if (!User.Identity.Name.Equals(user.UserName) && !((PrfPrincipal)User).HasPermission(AdminPermission.CanAdministrate))
                {
                    return(new HttpUnauthorizedResult());
                }

                Membership.Provider.ChangePassword(user.UserID, null, vm.Password);

                if (((PrfPrincipal)User).HasPermission(AdminPermission.CanAdministrate))
                {
                    return(RedirectToAction("Details", "Users", new { area = "System", id = vm.Id }));
                }
                else
                {
                    return(RedirectToAction("Details"));
                }
            }
            return(Password(vm.Id));
        }
Пример #10
0
        public bool AllowToLogin(AdminUserViewModel admin)
        {
            var entity = context.QuanTriVien.FirstOrDefault(e =>
                                                            e.Username == admin.Username && admin.MatKhau == e.MatKhau);

            return(entity != null);
        }
Пример #11
0
 public void GivenANewBlogCollection_WhenIAccessTheCollection_ThenItIsTheSameAsTheSetValue()
 {
     var blogs = new List<AdminBlogViewModel>();
     var model = new AdminUserViewModel();
     model.Blogs = blogs;
     Assert.That(model.Blogs, Is.EqualTo(blogs));
 }
Пример #12
0
 public AdminResponse Register(AdminUserViewModel adminUserData)
 {
     _logger.LogInfo("Registration method called");
     byte[] passwordHash, passwordSalt;
     try
     {
         AdminUser adminUser = _mapper.Map <AdminUser>(_adminUserRepo.GetAdminUser(adminUserData.UserName));
         if (adminUser != null)
         {
             _logger.LogInfo("The user doesn't not exists");
             throw new Exception(string.Format(_messageHandler.GetMessage(ErrorMessagesEnum.UserAlreadyExist)));
         }
         else
         {
             adminUser = _mapper.Map <AdminUser>(adminUserData);
         }
         CreatePasswordHash(adminUserData.Password, out passwordHash, out passwordSalt);
         _logger.LogInfo("HMACSHA512 password created");
         adminUser.PasswordHash = passwordHash;
         adminUser.PasswordSalt = passwordSalt;
         _adminUserRepo.Register(adminUser);
         _logger.LogInfo("Successfully registered new admin user by role = " + adminUserData.Role);
         adminUserData.Password        = null;
         adminUserData.ConfirmPassword = null;
         AdminResponse response = new AdminResponse(true, string.Format(_messageHandler.GetSuccessMessage(SuccessMessagesEnum.SuccessfullRegister)));
         response.AdminUser = adminUserData;
         return(response);
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message);
         return(new AdminResponse(false, ex.Message));
     }
 }
Пример #13
0
        public async Task <ActionResult> AdminRegister(AdminUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName  = model.Email,
                    Email     = model.Email,
                    RoleID    = model.Role.RoleID,
                    FirstName = model.FirstName,
                    LastName  = model.LastName
                };

                var store   = new UserStore <ApplicationUser>(new ApplicationDbContext());
                var manager = new UserManager <ApplicationUser>(store);

                var result = await manager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    var rolesRepo = RoleFactory.GetRepository();

                    var modeluser = new AdminUserViewModel
                    {
                        Roles = rolesRepo.GetRoles()
                    };
                    return(View(modeluser));
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #14
0
        public async Task <ActionResult> Index(AdminUserViewModel model, ManageMessageId?message = null)
        {
            ViewBag.StatusMessage = message == ManageMessageId.UserDeleted ? "Account has been deleted." : message == ManageMessageId.UserUpdated ? "Account has been updated." : ""; ViewBag.ErrorMessage = message == ManageMessageId.Error ? "Error." : message == ManageMessageId.HighRankedUser ? "Admin cannot deleted.": "";
            await ShowUserDetails(model);

            return(View());
        }
Пример #15
0
        public ActionResult Register(AdminUserViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                FlashMessage.Error("Preencha todos os campos");
                return(View(nameof(Register), viewModel));
            }

            var user = new ApplicationUser
            {
                FirstName = viewModel.FirstName,
                LastName  = viewModel.LastName,
                Email     = viewModel.Email,
                UserName  = viewModel.Email
            };

            var result = UserManager.Create(user, "Admin@1234");

            if (result.Succeeded)
            {
                UserManager.AddToRole(user.Id, nameof(Roles.Administrador));

                FlashMessage.Success("Cadastrado com sucesso");

                return(RedirectToAction(nameof(Index), "AdminUser"));
            }

            FlashMessage.Error(result.Errors.FirstOrDefault());
            return(View(nameof(Register), viewModel));
        }
Пример #16
0
        public async Task <IActionResult> EditUser(AdminUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByIdAsync(model.UserId);

                if (user != null)
                {
                    user.FirstName = model.FirstName;
                    user.LastName  = model.LastName;
                    user.UserName  = model.Email;
                    user.Email     = model.Email;

                    var result = await _userManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        var userRole = await _userManager.GetRolesAsync(user);

                        var newRole = await _roleManager.FindByNameAsync(model.RoleId);

                        await _userManager.RemoveFromRoleAsync(user, userRole.ToList()[0]);

                        await _userManager.AddToRoleAsync(user, newRole.Name);

                        TempData["Message"] = "İşleminiz başarıyla tamamlandı.";
                        TempData["Status"]  = "success";

                        return(RedirectToAction("UserList"));
                    }
                }
                return(NotFound());
            }
            return(View(model));
        }
        public ActionResult EditOrCreateAdminUser(string email = "")
        {
            if (Session["LoggedIn"] == null || Session["LoggedIn"].Equals(false))
            {
                return(RedirectToRoute(new
                {
                    controller = "Home",
                    action = "Index"
                }));
            }

            if (email == null || email.Equals(""))
            {
                return(View(new AdminUserViewModel()
                {
                    UserName = "", Password = "", RepeatPassword = ""
                }));
            }

            var adminUser = _adminUserLogic.Get(email);

            if (adminUser != null)
            {
                var adminViewModel = new AdminUserViewModel()
                {
                    UserName = adminUser.UserName
                };
                return(View(adminViewModel));
            }
            else
            {
                return(View(new AdminUserViewModel()));
            }
        }
        public string Insert(AdminUserViewModel model, IUrlHelper url, string scheme)
        {
            var existing = userManager.FindByEmailAsync(model.Email).GetAwaiter().GetResult();

            if (existing != null)
            {
                return(null);
            }

            var user = mapper.Map <GLAAUser>(model);

            userManager.CreateAsync(user).GetAwaiter().GetResult();

            userManager.AddToRoleAsync(user, model.Role).GetAwaiter().GetResult();

            // For more information on how to enable account confirmation and password reset please
            // visit https://go.microsoft.com/fwlink/?LinkID=532713
            var code        = userManager.GeneratePasswordResetTokenAsync(user).GetAwaiter().GetResult();
            var callbackUrl = url.Action("ResetPassword", "AccountController", new { userId = user.Id, code = code }, scheme);

            var msg = new NotifyMailMessage(model.Email, new Dictionary <string, dynamic> {
                { "full_name", user.FullName ?? "User" },
                { "reset_password_link", callbackUrl }
            });

            var template = configuration.GetSection("GOVNotify:EmailTemplates")["ResetPassword"];

            var success = emailService.Send(msg, template);

            return(user.Id);
        }
Пример #19
0
        public ActionResult EditUser(AdminUserViewModel model)
        {
            model.User = db.Users.Find(model.User.Id);
            var um = Request.GetOwinContext().Get <ApplicationUserManager>();

            string[] sel      = { };
            var      SelRoles = model.SelectedRoles != null ? model.SelectedRoles : sel;

            foreach (var role in db.Roles.ToList())
            {
                if (SelRoles.Contains(role.Name))
                {
                    um.AddToRole(model.User.Id, role.Name);
                }
                else
                if (!(role.Name == "Admin" && model.User.UserName == "*****@*****.**"))
                {
                    um.RemoveFromRole(model.User.Id, role.Name);
                }
            }

            /*return RedirectToAction("EditUser", new { Id = model.User.Id });
             * return RedirectToAction("DetailsUserRoles", new { Id = model.User.Id });*/
            return(RedirectToAction("Users"));
        }
Пример #20
0
        public ActionResult Edit(AdminUserViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                FlashMessage.Error("Preencha todos os campos");
                return(View(nameof(Edit), viewModel));
            }

            var user = UserManager.FindById(viewModel.Id);

            user.FirstName = viewModel.FirstName;
            user.LastName  = viewModel.LastName;
            user.Email     = viewModel.Email;
            user.UserName  = viewModel.Email;

            var result = UserManager.Update(user);

            if (result.Succeeded)
            {
                FlashMessage.Success("Alterado com sucesso");
                return(RedirectToAction(nameof(Index), "AdminUser"));
            }

            FlashMessage.Error(result.Errors.FirstOrDefault());
            return(View(nameof(Edit), viewModel));
        }
        // Function to download user info .csv file
        public void DownloadCsv()
        {
            var Users = from u in bc.Users
                        select u;
            AdminUserViewModel        vm               = new AdminUserViewModel();
            List <AdminUserViewModel> viewModels       = new List <AdminUserViewModel>();
            List <ApplicationUser>    applicationUsers = ac.Users.ToList();
            List <User>        users        = Users.ToList();
            List <UserProfile> userProfiles = bc.UserProfiles.ToList();
            List <Place>       places       = bc.Places.ToList();
            List <Review>      reviews      = bc.Reviews.ToList();
            List <Post>        posts        = bc.Posts.ToList();
            List <Flag>        flags        = bc.Flags.ToList();

            //pass data to list function
            vm.AdminUserList(
                viewModels,
                users,
                userProfiles,
                places,
                applicationUsers,
                posts,
                flags,
                reviews
                );
            string usersCsv = GetCsvString(viewModels);

            // return file content with response body
            Response.ContentType = "text/csv";
            Response.AddHeader("Content-Disposition", "attachment;filename=Users.csv");
            Response.Write(usersCsv);
            Response.End();
        }
Пример #22
0
        public async Task <ActionResult> Index(AdminUserViewModel model, ManageMessageId?message = null)
        {
            ViewBag.StatusMessage = message == ManageMessageId.UserDeleted ? " Konto użytkownika zostało pomyślnie usunięte.": message == ManageMessageId.UserUpdated ? "Konto użytkownika zostało zaaktualizowane.": "";
            ViewBag.ErrorMessage  = message == ManageMessageId.Error ? "Błąd.": message == ManageMessageId.HighRankedUser ? "Admin nie może zostać usunięty.": "";
            await ShowUserDetails(model);

            return(View());
        }
Пример #23
0
        public void GivenANewBlogCollection_WhenIAccessTheCollection_ThenItIsTheSameAsTheSetValue()
        {
            var blogs = new List <AdminBlogViewModel>();
            var model = new AdminUserViewModel();

            model.Blogs = blogs;
            Assert.That(model.Blogs, Is.EqualTo(blogs));
        }
Пример #24
0
        public ActionResult list(DateTime?startTime, DateTime?endTime, string keyWord, int pageIndex)
        {
            AdminUserSearchResult result = adminService.GetPage(startTime, endTime, keyWord, (pageIndex - 1) * 20, 20);
            AdminUserViewModel    model  = new AdminUserViewModel();

            string[] roleCities = new[] { "南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "玉林市", "贵港市", "百色市", "河池市", "贺州市", "来宾市", "崇左市", "厅机关处室、直属单位" };

            List <AdminUserListDTO> AdminUsers = new List <AdminUserListDTO>();

            foreach (var list in result.AdminUsers)
            {
                AdminUserListDTO dto = new AdminUserListDTO();
                dto.CreateDateTime         = list.CreateDateTime;
                dto.Email                  = list.Email;
                dto.Gender                 = list.Gender;
                dto.Id                     = list.Id;
                dto.LastLoginErrorDateTime = list.LastLoginErrorDateTime;
                dto.Mobile                 = list.Mobile;
                dto.Name                   = list.Name;
                if (roleCities.Contains(list.Roles.First().Name.Split('-')[0]))
                {
                    dto.RoleName = "市级管理员";
                }
                else
                {
                    dto.RoleName = list.Roles.First().Name.Split('-')[0];
                }
                if (adminService.GetById(list.LoginErrorTimes) == null)
                {
                    dto.Creator = "admin";
                }
                else
                {
                    dto.Creator = adminService.GetById(list.LoginErrorTimes).Name;
                }
                AdminUsers.Add(dto);
            }
            model.AdminUsers = AdminUsers;

            //分页
            Pagination pager = new Pagination();

            pager.PageIndex  = pageIndex;
            pager.PageSize   = 20;
            pager.TotalCount = result.TotalCount;

            if (result.TotalCount <= 20)
            {
                model.Page = "";
            }
            else
            {
                model.Page = pager.GetPagerHtml();
            }
            return(Json(new AjaxResult {
                Status = "1", Data = model
            }));
        }
        public AdminUserViewModel New()
        {
            var result = new AdminUserViewModel
            {
                AvailableRoles = GetRoles()
            };

            return(result);
        }
Пример #26
0
        public ActionResult EditSave(AdminUserViewModel viewModel)
        {
            ResultModel result    = new ResultModel();
            AdminUser   adminUser = _adminUserRep.GetModelById(viewModel.Id);

            Mapper.Map(viewModel, adminUser);
            result.IsSuccess = _adminUserRep.Update(adminUser) > 0;
            return(Json(result));
        }
Пример #27
0
        public ActionResult AddNew(AdminUserViewModel viewModel)
        {
            ResultModel result    = new ResultModel();
            AdminUser   adminUser = new AdminUser();

            Mapper.Map(viewModel, adminUser);
            result.IsSuccess = _adminUserRep.Add(adminUser) > 0;
            return(Json(result));
        }
Пример #28
0
        public ActionResult Edit(int id)
        {
            AdminUser          adminUser = _adminUserRep.GetModelById(id);
            AdminUserViewModel viewModel = new AdminUserViewModel();

            Mapper.Map(adminUser, viewModel);
            viewModel.DeptSelectList = new SelectList(_deptRep.GetAll(), "Id", "DeptName");
            return(View(viewModel));
        }
Пример #29
0
        /// <summary>
        /// 系统用户管理页面
        /// </summary>
        /// <returns></returns>
        public ActionResult AdminUser()
        {
            AdminUserViewModel model = new AdminUserViewModel();

            model.UserLists   = mbll.GetAllSysAdminUser();
            model.Groups      = mbll.GetAllAdminGroup();
            ViewBag.PageTitle = "系统用户";
            return(View(model));
        }
        public ActionResult Edit([Bind(Include = "UserId,RolesToSelect")] AdminUserViewModel admModel)
        {
            var             user     = db.Users.Find(admModel.UserId);
            var             id       = admModel.UserId;
            var             allRoles = new List <string>();
            UserRolesHelper helper   = new UserRolesHelper();

            allRoles.Add("Submitter");
            allRoles.Add("Developer");
            allRoles.Add("Project Manager");
            allRoles.Add("Admin");

            //build a list of selected roles based on the array in the model that was returned
            var selectedRoles = new List <string>();

            for (int i = 0; i < admModel.RolesToSelect.Length; i++)
            {
                if (admModel.RolesToSelect[i].Checked == true)
                {
                    selectedRoles.Add(admModel.RolesToSelect[i].RoleName);
                }
            }

            //if no roles have been selected, remove user from all roles
            if (selectedRoles == null)
            {
                foreach (var rRole in allRoles)
                {
                    if (helper.IsUserInRole(admModel.UserId, rRole))
                    {
                        helper.RemoveUserFromRole(admModel.UserId, rRole);
                    }
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                foreach (var sRole in selectedRoles)
                {
                    if (!helper.IsUserInRole(admModel.UserId, sRole))
                    {
                        helper.AddUserToRole(admModel.UserId, sRole);
                    }
                }

                var rolesToRemove = allRoles.Except(selectedRoles);
                foreach (var rRole in rolesToRemove)
                {
                    if (helper.IsUserInRole(admModel.UserId, rRole))
                    {
                        helper.RemoveUserFromRole(admModel.UserId, rRole);
                    }
                }
                return(RedirectToAction("Index"));
            }
        }
Пример #31
0
        public virtual ActionResult Index()
        {
            var userViewModel = HttpContext.User as UserViewModel;

            User user = _userService.GetUserWithTheirBlogs(userViewModel.Id);

            var adminUserViewModel = new AdminUserViewModel(userViewModel.Name, userViewModel.Id, user.Blogs);

            return(View(adminUserViewModel));
        }
Пример #32
0
        public ActionResult Users_Destroy([DataSourceRequest]DataSourceRequest request, AdminUserViewModel user)
        {
            if (this.ModelState.IsValid)
            {
                var userToDelete = this.userManager.FindById(user.Id);
                var removeFromRole = this.userManager.RemoveFromRole(user.Id, "User");

                var result = this.userManager.Delete(userToDelete);
            }

            return this.Json(new[] { user }.ToDataSourceResult(request, this.ModelState));
        }
Пример #33
0
        public ActionResult Users_Update([DataSourceRequest]DataSourceRequest request, AdminUserViewModel user)
        {
            if (this.ModelState.IsValid)
            {
                var userToUpdate = this.userManager.FindById(user.Id);
                userToUpdate.FirstName = user.FirstName;
                userToUpdate.LastName = user.LastName;
                userToUpdate.Email = user.Email;

                var result = this.userManager.Update(userToUpdate);
            }

            return this.Json(new[] { user }.ToDataSourceResult(request, this.ModelState));
        }
        public ActionResult DestroyPermanent([DataSourceRequest]DataSourceRequest request, AdminUserViewModel model)
        {
            if (model != null)
            {
                var roles = this.GetUserRoles(model.Id);

                if (roles == null || roles.Contains(GlobalConstants.AdministratorRoleName) == false)
                {
                    var entity = this.usersAdminService.GetById(model.Id);

                    this.usersAdminService.DeletePermanent(entity);
                }
            }

            return this.Json(new[] { model }.ToDataSourceResult(request, this.ModelState));
        }
Пример #35
0
 public void GivenANewAdminUserVewModel_WhenIAccessTheInitialBlogCollection_ThenItIsNotNull()
 {
     var model = new AdminUserViewModel();
     Assert.That(model.Blogs, Is.Not.Null);
 }