Esempio n. 1
0
 public Task <SharedWishModel> SetBought(int listId, int wishId, SetBoughtRequest request)
 {
     request.WishListId = listId;
     request.WishId     = wishId;
     request.UserId     = UserId;
     return(mediator.Send(request));
 }
Esempio n. 2
0
        public SharedWishModel Handle(SetBoughtRequest message)
        {
            var wish   = GetWish(message.WishId, message.WishListId);
            var userId = message.UserId;

            if (wish.BoughtByUserId != null && wish.BoughtByUserId != userId)
            {
                throw new FriendlyException(EventIds.AlreadyBought, "Wish has already been bought by someone else");
            }

            if (message.IsBought)
            {
                wish.BoughtByUserId = userId;
            }
            else
            {
                wish.BoughtByUserId = null;
            }
            context.SaveChanges();

            clientNotifier.RefreshListAsync(message.WishListId, message.UserId);
            return(mapper.Map <SharedWishModel>(wish));
        }