public async Task <ActionResult> UserSettings(UserSettingsModel model) { var userId = model.PostModel.UserId; var roles = await _authorizationService.GetRolesAsync(userId); if (model.PostModel.IsApprovedStatusChanged) { if (roles.Contains(DefaultRole.ApprovedUser)) { await _authorizationService.DisapproveAsync(userId); } else { await _authorizationService.ApproveAsync(userId); } } if (model.PostModel.IsRightsStatusChanged) { if (roles.Contains(DefaultRole.Admin)) { await _authorizationService.RemoveAdminAsync(userId); } else { await _authorizationService.MakeAdminAsync(userId); } } if (model.PostModel.IsBanStatusChanged) { if (roles.Contains(DefaultRole.BannedUser)) { await _authorizationService.UnbanAsync(userId); } else { await _authorizationService.BanAsync(userId); } } return(RedirectToAction("Admin", "Authorization")); }