コード例 #1
0
ファイル: Social.cs プロジェクト: radtek/EMIP
        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)
                    });
                }
            }
        }
コード例 #2
0
ファイル: Social.cs プロジェクト: radtek/EMIP
        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);
        }
コード例 #3
0
ファイル: Social.cs プロジェクト: radtek/EMIP
        public virtual object PostComments(HttpContext context)
        {
            YZRequest      request  = new YZRequest(context);
            string         clientid = request.GetString("clientid", null);
            YZResourceType resType  = request.GetEnum <YZResourceType>("resType");
            string         resId    = request.GetString("resId");
            int            duration = request.GetInt32("duration", -1);
            JObject        jPost    = request.GetPostData <JObject>();
            string         msg      = (string)jPost["message"];
            string         uid      = YZAuthHelper.LoginUserAccount;

            YZMessage message = new YZMessage();

            message.resType  = resType;
            message.resId    = resId;
            message.uid      = uid;
            message.date     = DateTime.Now;
            message.message  = msg;
            message.replyto  = -1;
            message.duration = duration;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                this.PostProcessMessage(cn, message);
            }

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    SocialManager.Insert(provider, cn, message);
                    SocialManager.UpdateReaded(provider, cn, resType, resId, uid, message.id);
                }
            }

            YZSoft.Web.Push.MessageBus.Instance.onPostComments(clientid, message);
            return(message);
        }