Esempio n. 1
0
        public bool Post([FromBody] Like like)
        {
            // Check auth
            if (!Authenticate())
            {
                return(false);
            }

            // Check if like's userId is valid
            if (like.UserId != int.Parse(Request.Headers["userId"]))
            {
                return(false);
            }

            // Modify like
            if (like.Id != 0)
            {
                Like lk = context.Likes.Find(like.Id);
                if (lk != null)
                {
                    lk.Copy(like);
                    context.SaveChanges();
                    return(true);
                }
            }

            // If user already like this post
            if (context.Likes.Any(l => l.PostId == like.PostId && l.UserId == like.UserId))
            {
                return(false);
            }

            // Create new like
            context.Likes.Add(like);
            context.SaveChanges();
            return(true);
        }