/// <summary> /// Update current user model /// </summary> /// <param name="model"></param> /// <returns>ApiResponse</returns> public async Task <UserDisplayModel> Update(UserUpdateModel model) { var user = await GetCurrentUser(); if (user == null) { throw new MRException(); } if (user.Status == UserStatus.Blocked) { throw new MRException(-1, "User blocked"); } user.FirstName = model.FirstName; user.LastName = model.LastName; user.UpdateTime = DateTime.UtcNow; var updateResult = await _appUserRepository.Replace(user); if (updateResult == null) { throw new MRException(); } user = await _appUserRepository.FindByIdAsync(user.Id, new System.Threading.CancellationToken()); return(_mapper.Map <UserDisplayModel>(user)); }