//AlterLikePlant allows to like a plant with given plant ID.
 public bool AlterLikePlant(AlterLikeModel model)
 {
     if (ctx.Likes.Where(e => e.PlantID == model.PlantID && e.UserID == _userID).Count() < 1)
     {
         Likes likes = new Likes
         {
             IsLiked     = true,
             PlantID     = model.PlantID,
             UserID      = _userID,
             CreatedDate = DateTimeOffset.UtcNow,
         };
         ctx.Likes.Add(likes);
     }
     else
     {
         bool isLiked = ctx.Likes.Single(e => e.PlantID == model.PlantID && e.UserID == _userID).IsLiked;
         if (isLiked)
         {
             ctx.Likes.Single(e => e.PlantID == model.PlantID && e.UserID == _userID).IsLiked      = false;
             ctx.Likes.Single(e => e.PlantID == model.PlantID && e.UserID == _userID).ModifiedDate = DateTimeOffset.UtcNow;
         }
         else
         {
             ctx.Likes.Single(e => e.PlantID == model.PlantID && e.UserID == _userID).IsLiked      = true;
             ctx.Likes.Single(e => e.PlantID == model.PlantID && e.UserID == _userID).ModifiedDate = DateTimeOffset.UtcNow;
         }
     }
     return(ctx.SaveChanges() == 1);
 }
        public IHttpActionResult AlterLike(AlterLikeModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var service = CreateSocialInteractionsService();

            if (!service.AlterLikePlant(model))
            {
                return(InternalServerError());
            }
            return(Ok("Like Changed"));
        }