public ActionResult Edit(Guid Id) { var user = MembershipService.Get(Id, true); if (LoginUser.UserName == user.UserName) { return(RedirectToAction("ChangeInfo")); } if (!LoginRequest.IsSuperAccount()) { if (MembershipService.UserInRole(user, AppConstants.AdminRoleName)) { TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = "Bạn không có quyện hạn thực hiện thao tác này!", MessageType = GenericMessages.warning }; return(RedirectToAction("Index")); } } AdminEditMemberViewModel viewModel = new AdminEditMemberViewModel { Id = Id, UserName = user.UserName, Email = user.Email, Avatar = user.Avatar, Roles = GetRolesEdit(user), }; return(View(viewModel)); }
public ActionResult Edit(AdminEditMemberViewModel viewModel) { var user = MembershipService.Get(viewModel.Id, true); if (LoginUser.UserName == user.UserName) { return(RedirectToAction("ChangeInfo")); } if (!LoginRequest.IsSuperAccount()) { if (MembershipService.UserInRole(user, AppConstants.AdminRoleName)) { TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = "Bạn không có quyện hạn thực hiện thao tác này!", MessageType = GenericMessages.warning }; return(RedirectToAction("Index")); } } if (ModelState.IsValid) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { user.Email = viewModel.Email; user.Avatar = viewModel.Avatar; MembershipService.ClearRolesByUser(user); if (viewModel.Roles != null) { foreach (var it in viewModel.Roles) { if (!it.Check) { continue; } it.RoleName = _roleSevice.GetRoleNameById(it.RoleId); if (it.RoleName == AppConstants.AdminRoleName && !LoginRequest.IsSuperAccount()) { continue; } if (it.RoleName == AppConstants.GuestRoleName || it.RoleName == AppConstants.StandardRoleName) { continue; } MembershipService.AddRoleByUser(user.Id, it.RoleId); } } unitOfWork.Commit(); TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = LocalizationService.GetResourceString("Cập nhật tài khoản thành công."), MessageType = GenericMessages.success }; } catch (Exception ex) { LoggingService.Error(ex); unitOfWork.Rollback(); ModelState.AddModelError("", "Có lỗi không mong muốn xảy ra! Xin thử lại."); } } } viewModel.UserName = user.UserName; return(View(viewModel)); }