public virtual object Praise(HttpContext context) { YZRequest request = new YZRequest(context); int messageid = request.GetInt32("messageid"); string uid = YZAuthHelper.LoginUserAccount; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { if (SocialManager.HasVoted(provider, cn, messageid, uid)) { SocialManager.DeleteVote(provider, cn, messageid, uid); } else { YZMessageVote vote = new YZMessageVote(); vote.messageid = messageid; vote.uid = uid; vote.date = DateTime.Today; SocialManager.Insert(provider, cn, vote); } return(new { Praised = SocialManager.GetVotePraisedCount(provider, cn, messageid) }); } } }
public virtual object Reply(HttpContext context) { YZRequest request = new YZRequest(context); string clientid = request.GetString("clientid", null); int messageid = request.GetInt32("messageid"); JObject jPost = request.GetPostData <JObject>(); string msg = (string)jPost["message"]; YZMessage parentMessage; YZMessage message = new YZMessage(); YZMessageCollection replies; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { parentMessage = SocialManager.GetMessageByID(provider, cn, messageid); message.resType = parentMessage.resType; message.resId = parentMessage.resId; message.uid = YZAuthHelper.LoginUserAccount; message.date = DateTime.Now; message.message = msg; message.replyto = parentMessage.id; SocialManager.Insert(provider, cn, message); replies = SocialManager.GetMessageReplies(provider, cn, parentMessage.id); parentMessage["Replies"] = replies; parentMessage["Praised"] = SocialManager.GetVotePraisedCount(provider, cn, parentMessage.id); } } using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); this.PostProcessMessage(cn, parentMessage); foreach (YZMessage replyMessage in replies) { this.PostProcessMessage(cn, replyMessage); } } YZSoft.Web.Push.MessageBus.Instance.onPostComments(clientid, message); return(parentMessage); }
public virtual object GetMessages(HttpContext context) { YZRequest request = new YZRequest(context); YZResourceType resType = request.GetEnum <YZResourceType>("resType"); string resId = request.GetString("resId"); YZMessageCollection messagesAll = new YZMessageCollection(); YZMessageCollection messages; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { messages = SocialManager.GetMessages(provider, cn, resType, resId); messagesAll.AddRange(messages); foreach (YZMessage message in messages) { YZMessageCollection replies = SocialManager.GetMessageReplies(provider, cn, message.id); message["Replies"] = replies; message["Praised"] = SocialManager.GetVotePraisedCount(provider, cn, message.id); messagesAll.AddRange(replies); } } } using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); foreach (YZMessage message in messagesAll) { this.PostProcessMessage(cn, message); } } return(messages); }