public async Task <HistoryViewModel> Add(string key, HistoryViewModel viewModel, CancellationToken cancellationToken) { var record = viewModel.ToRecord(); record.Key = key; record.Timestamp = DateTime.Now; var last = await HistoryRepository.GetLast(key, cancellationToken); if (last != null) { record.OldValue = last.NewValue; } await HistoryRepository.Add(record, cancellationToken); return(record.ToViewModel()); }