Пример #1
0
        public void Upvote(int memeId, User user)
        {
            Meme meme = _context.Memes.Find(memeId);

            if (meme == null)
            {
                throw new AppException($"Nie ma mema o takim Id. Metoda: {nameof(Upvote)}");
            }
            MemeRate rate = _context.MemeRates.FirstOrDefault(x => x.Meme == meme && x.User == user);

            if (rate == null)
            {
                rate          = CreateMemeRate(meme, user);
                rate.isUpvote = true;
                _context.MemeRates.Update(rate);
            }
            else if (!rate.isUpvote)
            {
                rate.isUpvote = true;
                _context.MemeRates.Update(rate);
            }
            else if (rate.isUpvote)
            {
                _context.MemeRates.Remove(rate);
            }

            _context.SaveChanges();
        }
Пример #2
0
        //helpers

        private MemeRate CreateMemeRate(Meme meme, User user)
        {
            MemeRate newLike = new MemeRate();

            newLike.Meme = meme;
            newLike.User = user;
            _context.MemeRates.Add(newLike);
            _context.SaveChanges();
            return(newLike);
        }