コード例 #1
0
ファイル: Social.cs プロジェクト: radtek/EMIP
        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);
        }