public async Task UpdateUserAsync(NaheulbookExecutionContext executionContext, int userId, UpdateUserRequest request) { using (var uow = _unitOfWorkFactory.CreateUnitOfWork()) { var user = await uow.Users.GetAsync(userId); if (user == null) { throw new UserNotFoundException(); } _authorizationUtil.EnsureCanEditUser(executionContext, user); if (!string.IsNullOrEmpty(request.DisplayName)) { user.DisplayName = request.DisplayName; } if (request.ShowInSearchFor.HasValue) { if (request.ShowInSearchFor.Value == 0) { user.ShowInSearchUntil = null; } else { user.ShowInSearchUntil = DateTime.UtcNow.AddSeconds(request.ShowInSearchFor.Value); } } await uow.SaveChangesAsync(); } }