//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")); }