public ServiceResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig) { Repository.SaveUserBranch(Mapper.Map <User>(user)); UserConfigRepository.SaveUserProfile(userConfig.UserID, userConfig.BranchID, IsSuspended: userConfig.IsSuspended); return(ServiceResult.CreateSuccessResult()); }
public async Task <IActionResult> AddRoles([FromBody] UserConfigDto roles) { ///Get user to add roles to. var user = _userManager.Users .FirstOrDefault(u => u.Id == roles.UserId); //return NotFound if user is null if (user == null) { return(NotFound()); } //Get all available roles. var availableRoles = _roleManager.Roles.Select(r => r.Name).ToList(); //Get user current Roles. var currentRoles = await _userManager.GetRolesAsync(user); //Loop through the roles to confirm it's possible to add each role. var addRoles = new List <string>(); var removeRoles = new List <string>(); availableRoles.ToList().ForEach(r => { if (addRoles.Contains(r) && !currentRoles.Contains(r)) { addRoles.Add(r); } if (removeRoles.Contains(r) && currentRoles.Contains(r)) { removeRoles.Add(r); } }); var addres = await _userManager.AddToRolesAsync(user, addRoles); var remres = await _userManager.RemoveFromRolesAsync(user, removeRoles); if (addres.Succeeded && remres.Succeeded) { return(CreatedAtRoute( nameof(GetUserProfile), new { id = roles.UserId }, roles.UserId)); } throw new Exception("Roles failed to be added/removed."); }
public async Task <IActionResult> UserConfig([FromForm] UserConfigDto userConfigDto) { var user = _userManager.Users //get user from dto. .FirstOrDefault(u => u.Id == userConfigDto.UserId); if (user == null) //If null return not found. { return(NotFound()); } var userRoles = await _userManager //Get all users roles .GetRolesAsync(user); var allRoles = _roleManager.Roles //Get all available roles .Select(r => r.Name).ToList(); var addRoles = new List <string>(); //a list of roles to add var remRoles = new List <string>(); //a list of roles to remove allRoles.ForEach(r => //Loop through all roles and add to add and rem lists. { if (userConfigDto.Roles[r] && !userRoles.Contains(r)) //if form roles is true and user isn't assigned role { addRoles.Add(r); //add to addRoles list } if (!userConfigDto.Roles[r] && userRoles.Contains(r)) //if form roles is false and user is assigned role { remRoles.Add(r); //add to remRoles list. } }); var res1 = await _userManager //Add addRoles roles to user and keep result. .AddToRolesAsync(user, addRoles); var res2 = await _userManager //Rmove remRoles roles from user and keep result. .RemoveFromRolesAsync(user, remRoles); if (!res1.Succeeded && !res2.Succeeded) //If either failed throw exceptions. { throw new Exception("Roles failed to be added or removed."); } user.LockoutEnabled = userConfigDto.Lockout; //Set lockout to what the form says. return(RedirectToAction("Index")); //Redirect to Admin dashboard Index. }
private bool SetSessionData(UserDto user, UserConfigDto userConfig, long branchID) { List <BranchName> allowBranches; if (user.IsSystemAdmin) { var branchListResult = BranchService.ListAll <BranchName>(); if (!branchListResult.Success || branchListResult.Data == null) { errors = branchListResult.Errors; return(false); } allowBranches = branchListResult.Data.ToList(); } else { allowBranches = user.Branches.Select(x => new BranchName(x.ID, x.VNName, x.ENName)).ToList(); } var pages = PageService.GetAccessiblePagesForUser <LanguagePageDto>(user.ID); if (!pages.Success || pages.Data == null) { return(false); } var listTableHeight = userConfig.ListTableHeight == 0 ? ConstConfig.DefaultHeightForListTable : userConfig.ListTableHeight; var pageSize = userConfig.PageSize <= 0 ? ConstConfig.DefaultPagesize : userConfig.PageSize; var theme = string.IsNullOrEmpty(userConfig.Theme) ? ConfigReader.CurrentTheme : userConfig.Theme; SmsCache.UserAccesses.Add(CommonObjects.SessionId, user.ID, user.Username, user.FirstName, user.LastName, Request.UserHostAddress, Request.UserAgent, branchID, user.IsSystemAdmin, user.UseSystemConfig, userConfig.DefaultAreaID, listTableHeight, pageSize, theme, allowBranches, pages.Data.Select(x => x.ID).ToList()); return(true); }
public ServiceResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig) { return(Management.UpdateUserBranch(user, userConfig)); }
public JsonResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig) { var result = UserService.UpdateUserBranch(user, userConfig); return(Json(JsonModel.Create(result))); }