public static void DeleteDebatePost(Int32 tid, Int32 opinion, Int32 pid) { using (var trans = Meta.CreateTrans()) { var list = PostDebateField.FindAllByPids(pid); list.Delete(); var list2 = Debatedigg.FindAllByPid(pid); list2.Delete(); var db = FindByTid(tid); //var fi = Meta.Table.FindByName(opinion); //var count = (Int32)db[fi.Name]; //count -= list.Count + list2.Count; //db.SetItem(fi.Name, count); var count = list.Count + list2.Count; if (opinion == 1) { db.PositiveDiggs -= count; } else if (opinion == 2) { db.NegativeDiggs -= count; } db.Update(); } }
public static Int32 GetDebatePostCount(string onlyauthor, int tid, int posterId, int stand) { var exp = _.Tid == tid & _.Layer > 0; exp &= _.ID.In(PostDebateField.FindSQLWithPidByTidAndOpinion(tid, stand)); if (!onlyauthor.IsNullOrWhiteSpace() && onlyauthor != "0") { exp &= _.PosterID == posterId; } return(FindCount(exp)); }
public static Int32 SearchDebateCount(Int32 tid, Int32 opinion) { var exp = _.Invisible == 0; if (tid > 0) { exp &= _.Tid == tid & _.Layer == 0; } if (opinion > 0) { exp |= _.ID.In(PostDebateField.FindSQLByTidAndOpinion(tid, opinion)); } return(FindCount(exp)); }
public static EntityList <Post> SearchDebate(Int32 tid, Int32 opinion, Int32 start, Int32 max) { var exp = _.Invisible == 0; if (tid > 0) { exp &= _.Tid == tid & _.Layer == 0; } if (opinion > 0) { exp |= _.ID.In(PostDebateField.FindSQLByTidAndOpinion(tid, opinion)); } return(FindAll(exp, null, null, start, max)); }
public static void CreateDebateExpandInfo(Int32 tid, Int32 pid, Int32 opinion, Int32 diggs) { using (var trans = Meta.CreateTrans()) { var entity = new PostDebateField(); entity.Tid = tid; entity.Pid = pid; entity.Opinion = opinion; entity.Diggs = diggs; entity.Insert(); var db = FindByTid(tid); if (opinion == 1) { db.PositiveDiggs++; } else if (opinion == 2) { db.NegativeDiggs++; } db.Update(); } }