Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }