public bool AssignRolesToUser(AddRoleToUserTO rolesToAssign) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var result = _authRepository.AssignRolesToUser(rolesToAssign.UserName, rolesToAssign.Roles); if (result) { scope.Complete(); return(true); } return(false); } }
public async Task <IHttpActionResult> AssignRolesToUser(AddRoleToUserTO rolesToAssign) { foreach (var item in rolesToAssign.Roles) { bool roleExists = await _authService.CheckIfRoleExists(item); if (!roleExists) { logger.Log(LogLevel.Info, "Role: " + item + " doesn't exist!\n"); return(BadRequest(UserENUM.ROLE_NOT_FOUND.ToString())); } } var userRoles = _authService.GetUserRoles(rolesToAssign.UserName); foreach (var role in userRoles) { if (rolesToAssign.Roles.Contains(role)) { return(BadRequest(UserENUM.ROLE_ALREADY_ADDED_FOR_USER.ToString())); } } bool result = _authService.AssignRolesToUser(rolesToAssign); if (result) { foreach (var item in rolesToAssign.Roles) { logger.Log(LogLevel.Info, "Role: " + item + " was added for user: "******".\n"); } return(Ok(result)); } return(BadRequest(UserENUM.UNABLE_ADD_ROLE.ToString())); }