Вам нужно дождаться такого вызова
var userModelFromRepo = await _repository.GetUserById(id);
Полный код:
[HttpPut("{id}")]
public async Task<ActionResult> UpdateUser(int id, UserUpdateDto userUpdateDto)
{
var userModelFromRepo = await _repository.GetUserById(id);
if (userModelFromRepo == null)
{
return NotFound();
}
await _mapper.Map(userUpdateDto, userModelFromRepo);
await _repository.UpdateUser(userModelFromRepo);
await _repository.SaveChanges();
return NoContent();
}
Кроме того, если вы ничего не делаете в своем методе UpdateUser, вы можете удалить Task.Run, ничего не добавляет.
public Task UpdateUser(User userModelFromRepo)
{
if (user == null)
{
throw new ArgumentNullException(nameof(user));
}
user.ModifiedAt = DateTime.UtcNow;
return Task.CompletedTask;
}