/// <summary> /// Adds new like entry and returns like count. Returns zero if there is already an entry /// </summary> /// <param name="postID"></param> /// <param name="userID"></param> /// <returns></returns> public int AddLike(int postID, int userID) { if (postID > 0 && userID > 0) { if (db.PostAddons.Where(pa => pa.PostID == postID && pa.UserID == userID && pa.AddonType == 2).Count() == 0) { PostAddon pad = new PostAddon() { AddonType = 2, UserID = userID, CreateTime = DateTime.Now, PostID = postID, IsDeleted = false, }; db.PostAddons.Add(pad); bool sonuc = db.SaveChanges() > 0; return(GetPostAddons(postID).Where(pa => pa.AddonType == 2 && pa.IsDeleted == false).Count()); } else { return(0); } } else { return(0); } }
public void AddClick(int postID = 0) { if (postID > 0) { PostAddon click = new PostAddon() { AddonType = 5, CreateTime = DateTime.Now, IsDeleted = false, PostID = postID, }; db.PostAddons.Add(click); db.SaveChanges(); } }
/// <summary> /// Sets like state with given state and returns like count. Returns zero if there is no entry to set /// </summary> /// <param name="postID"></param> /// <param name="userID"></param> /// <param name="state"></param> /// <returns></returns> public int SetAddonState(int postID, int userID, int addonType, bool state) { if (postID > 0 && userID > 0) { if (db.PostAddons.Where(pa => pa.PostID == postID && pa.UserID == userID).Count() != 0) { PostAddon pad = db.PostAddons.Where(pa => pa.PostID == postID && pa.UserID == userID && pa.AddonType == addonType).FirstOrDefault(); pad.IsDeleted = state; db.Entry(db.PostAddons.Find(pad.AddonID)).CurrentValues.SetValues(pad); db.SaveChanges(); } return(GetPostAddons(postID).Where(pa => pa.AddonType == addonType && pa.IsDeleted == false).Count()); } else { return(0); } }