public async Task <UserChangeActivationResponse> ChangeActivation(UserChangeActivationRequest request) { var response = new UserChangeActivationResponse(); var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId); if (!currentUser.IsSuperAdmin) { response.SetInvalid(); return(response); } var user = await _userRepository.Select(x => x.Uid == request.UserUid); if (user.IsNotExist()) { response.SetInvalidBecauseNotFound("user"); return(response); } user.IsActive = !user.IsActive; var result = await _userRepository.Update(request.CurrentUserId, user); if (result) { _cacheManager.UpsertUserCache(user, _userFactory.MapCurrentUser(user)); response.Status = ResponseStatus.Success; return(response); } response.SetFailed(); return(response); }
public async Task <IActionResult> ChangeActivation(Guid id) { var model = new CommonResult { IsOk = false }; var userUid = id; if (userUid.IsEmptyGuid()) { return(Json(model)); } var request = new UserChangeActivationRequest(CurrentUser.Id, userUid); var response = await OrganizationService.ChangeActivationForUser(request); if (response.Status.IsNotSuccess) { return(Json(model)); } model.IsOk = true; CurrentUser.IsActionSucceed = true; return(Json(model)); }
public async Task <UserChangeActivationResponse> ChangeActivationForUser(UserChangeActivationRequest request) { var response = new UserChangeActivationResponse(); var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId); if (!currentUser.IsAdmin) { response.SetInvalid(); return(response); } if (await _organizationRepository.Any(x => x.Id == currentUser.OrganizationId && !x.IsActive)) { response.SetInvalid(); response.ErrorMessages.Add("organization_not_found"); return(response); } var entity = _cacheManager.GetCachedUser(request.UserUid); if (entity.OrganizationId != currentUser.OrganizationId) { response.SetInvalid(); return(response); } entity.IsActive = !entity.IsActive; var result = await _userRepository.Update(request.CurrentUserId, entity); if (result) { _cacheManager.UpsertUserCache(entity, currentUser); response.Status = ResponseStatus.Success; return(response); } response.SetFailed(); return(response); }
public async Task <IActionResult> ChangeActivation(Guid id) { var adminUid = id; if (adminUid.IsEmptyGuid()) { return(Forbid()); } var request = new UserChangeActivationRequest(CurrentUser.Id, adminUid); var response = await _adminService.ChangeActivation(request); if (response.Status.IsNotSuccess) { return(Json(new CommonResult { IsOk = false, Messages = response.ErrorMessages })); } return(Json(new CommonResult { IsOk = true })); }
public static UserChangeActivationRequest GetUserChangeActivationRequest() { var request = new UserChangeActivationRequest(CurrentUserId, UidOne); return(request); }