public async Task <FriendVm> UpdateFriendAsync(FriendVm friend) { friend.EnsureIsValid(); var original = await _friendProvider.GetFriendOrDefaultAsync(friend.Id).ConfigureAwait(false); if (original == null) { throw new FormatException($"{nameof(friend.Id)} \"{friend.Id}\" нет в базе"); } original.Name = friend.Name; original.Url = friend.Url; original.Description = friend.Description; await _unitOfWork.SaveChangesAsync(); return(original.ToVm()); }
public async Task <FriendVm> AddFriendAsync(FriendVm friend) { friend.EnsureIsValid(); var original = await _friendProvider.GetFriendOrDefaultAsync(friend.Id).ConfigureAwait(false); if (original != null) { throw new FormatException($"Данный {nameof(friend.Id)} \"{friend.Id}\" уже занят"); } var entity = new Friend { ExportId = friend.Id }.Extend(friend); var res = await _friendProvider.SaveFriendAsync(entity).ConfigureAwait(false); return(res.ToVm()); }