public User CreateEntityFromRequest(AdminUpgradeRequest request, User entity) { entity.UpdatedBy = request.CurrentUserId; entity.IsAdmin = true; return(entity); }
public async Task <AdminUpgradeResponse> UpgradeToAdmin(AdminUpgradeRequest request) { var response = new AdminUpgradeResponse(); 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.IsSuperAdmin = true; var result = await _userRepository.Update(request.CurrentUserId, user); if (result) { _cacheManager.UpsertUserCache(user, _userFactory.MapCurrentUser(user)); response.Item = _userFactory.CreateDtoFromEntity(user); response.Status = ResponseStatus.Success; return(response); } response.SetFailed(); return(response); }
public async Task <IActionResult> UserUpgradeToAdmin(Guid id) { var userUid = id; if (userUid.IsEmptyGuid()) { return(Forbid()); } var request = new AdminUpgradeRequest(CurrentUser.Id, userUid); var response = await _adminService.UpgradeToAdmin(request); if (response.Status.IsNotSuccess) { return(Json(new CommonResult { IsOk = false, Messages = response.ErrorMessages })); } return(Json(new CommonResult { IsOk = true })); }
public static AdminUpgradeRequest GetAdminUpgradeRequest() { var request = new AdminUpgradeRequest(CurrentUserId, UidOne); return(request); }