예제 #1
0
        public async Task <bool> FollowOffer(string offerId)
        {
            var currentUser = await profileService.GetCurrentUser();

            if (currentUser == null)
            {
                return(false);
            }

            var offer = await database.OfferRepository.Get(offerId);

            if (offer == null)
            {
                return(false);
            }

            var offerFollow = offer.OfferFollows.FirstOrDefault(of => of.UserId == currentUser.Id);

            if (offerFollow != null)
            {
                database.OfferFollowRepository.Delete(offerFollow);
            }
            else
            {
                offerFollow = OfferFollow.Create(offer.Id, currentUser.Id);
                database.OfferFollowRepository.Add(offerFollow);
            }

            return(await database.Complete());
        }