/// <summary> /// <inheritdoc /> /// </summary> /// <param name="id"></param> /// <param name="model"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task <User> ChangeUserStatus(int id, ChangeUserStatusViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { #region Find user var loadUserCondition = new SearchUserViewModel(); loadUserCondition.Ids = new HashSet <int> { id }; var user = await SearchUserAsync(loadUserCondition, cancellationToken); if (user == null) { throw new ApiException(HttpMessages.AccountIsNotFound, HttpStatusCode.NotFound); } #endregion #region Update user status // Whether information has been changed or not. var bHasInformationChanged = false; // Status has been defined. if (model.Status != user.Status) { if (model.Status == UserStatus.Pending) { user.Status = UserStatus.Disabled; bHasInformationChanged = true; } else { user.Status = model.Status; bHasInformationChanged = true; } } //todo: Reason // Information has been changed. if (!bHasInformationChanged) { throw new NotModifiedException(); } #endregion await _unitOfWork.CommitAsync(cancellationToken); return(user); }
public async Task <IActionResult> CgangeStatus([FromBody] ChangeUserStatusViewModel changeUserStatusViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!await _authService.UserExists(changeUserStatusViewModel.UserName)) { return(NotFound(string.Format(_errorLocalizer["UserNotExist"].Value, changeUserStatusViewModel.UserName))); } if (await _userService.ChangeStatusAsync(changeUserStatusViewModel)) { return(Ok()); } return(BadRequest(string.Format(_errorLocalizer["FailedRoleUpdate"].Value, changeUserStatusViewModel.UserName))); }
public async Task<ActionResult> ChangeUserStatus(ChangeUserStatusViewModel model) { await mediator.SendAsync(new UpdateInternalUserStatus(model.UserId, model.Status)); return RedirectToAction("ChangeUserStatusSuccess", new { userId = model.UserId }); }
public async Task <ActionResult> ChangeUserStatus(ChangeUserStatusViewModel model) { await mediator.SendAsync(new UpdateInternalUserStatus(model.UserId, model.Status)); return(RedirectToAction("ChangeUserStatusSuccess", new { userId = model.UserId })); }
public async Task <bool> ChangeStatusAsync(ChangeUserStatusViewModel changeUserStatusViewModel) { return(await _userRepository.ChangeStatusAsync(changeUserStatusViewModel.UserName, changeUserStatusViewModel.NewStatus)); }