public async Task <IActionResult> AddRoleAsync(AddUserRoleVM model) { string message = await _userService.AddRoleAsync(model); ResponseVM response = new ResponseVM { Status = TaskHelper.GetResponceStatus(message), Message = message }; return(Ok(response)); }
public async Task <string> AddRoleAsync(AddUserRoleVM model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { return($"Error, No Accounts Registered with {model.Email}."); } if (await _userManager.CheckPasswordAsync(user, model.Password)) { if (!await _userManager.IsInRoleAsync(user, model.Role)) { await _userManager.AddToRoleAsync(user, model.Role); return($"Success, Added {model.Role} to user {model.Email}."); } return($"Error, Role {model.Role} not found."); } return($"Error, Incorrect Credentials for user {user.Email}."); }
public async Task <List <AddUserRoleVM> > GetUsersWithoutRole(string roleid) { List <AddUserRoleVM> deleteAccountVMs = new List <AddUserRoleVM>(); var users = _userManager.Users.ToList(); var roles = _roleManager.Roles.ToList(); var selectedRole = await _roleManager.FindByIdAsync(roleid); foreach (var user in users) { bool hasRole = false; foreach (var role in roles) { if (await _userManager.IsInRoleAsync(user, role.Name)) { hasRole = true; break; } } if (!hasRole && user.DesiredRole == selectedRole.Name) { var account = new AddUserRoleVM { FullName = user.FirstName + " " + user.LastName, Name = user.UserName, IsSelected = false }; deleteAccountVMs.Add(account); } } return(deleteAccountVMs); }
public bool AddUserRole(AddUserRoleVM item, HttpRequestInfo info) { Locator.AdministrationBLLocator _locator = new Locator.AdministrationBLLocator(); var sur = CRUD.Query(x => x.IdRoleRef == item.IdRole && x.IdSystemUserRef == item.IdUser).FirstOrDefault(); SystemUserRoleLocation surl = null; if (item.IdCity != null && sur != null) { surl = _locator.SystemUserRoleLocationBL.CRUD.Query(x => x.IdSystemUserRoleRef == sur.IdSystemUserRole && x.IdCityRef == item.IdCity && x.IdTownRef == item.IdTown && x.IdVillageRef == item.IdVillage).FirstOrDefault(); } using (TransactionScope scope = new TransactionScope()) { try { if (sur != null) { sur.OperationIsDeleted = 1; sur.OperationIP = info.IpAddress; sur.OperationIdUserRef = info.UserID; sur.OperationDate = DateTime.Now; CRUD.Update(sur, info); Save(); } else { sur = new SystemUserRole(); sur.IdRoleRef = item.IdRole; sur.IdSystemUserRef = item.IdUser; sur.OperationDate = DateTime.Now; sur.OperationIdUserRef = info.UserID; sur.OperationIP = info.IpAddress; sur.OperationIsDeleted = 1; CRUD.Insert(sur); Save(); } if (item.IdCity != null) { if (surl != null) { surl.OperationIsDeleted = 1; surl.OperationIP = info.IpAddress; surl.OperationIdUserRef = info.UserID; surl.OperationDate = DateTime.Now; _locator.SystemUserRoleLocationBL.CRUD.Update(surl, info); _locator.SystemUserRoleLocationBL.Save(); } else { surl = new SystemUserRoleLocation(); surl.IdCityRef = item.IdCity; surl.IdSystemUserRef = item.IdUser; surl.IdSystemUserRoleRef = sur.IdSystemUserRole; surl.IdTownRef = item.IdTown; surl.IdVillageRef = item.IdVillage; surl.OperationDate = DateTime.Now; surl.OperationIdUserRef = info.UserID; surl.OperationIP = info.IpAddress; surl.OperationIsDeleted = 1; _locator.SystemUserRoleLocationBL.CRUD.Insert(surl); _locator.SystemUserRoleLocationBL.Save(); } scope.Complete(); } else { scope.Complete(); } return true; } catch (System.Exception ex) { scope.Dispose(); return false; } } }