Exemplo n.º 1
0
        protected void BindData(CY.UME.Core.Business.Group group)
        {
            if (group == null)
            {
                return;
            }

            #region 获取搜索条件

            CY.UME.Core.PagingInfo pageInfo = new CY.UME.Core.PagingInfo();

            pageInfo.CurrentPage = 1;
            pageInfo.PageSize = 10;

            int? minViewNum = null, maxViewNum = null, maxReplyNum = null, level = null, minReplyNum = null;
            DateTime? minDate = null, maxDate = null;
            string strTitle, strAuthorName;
            string InstruID = string.Empty;//ID
            string InstruType = string.Empty;//类型

            int minViewNumTemp, maxViewNumTemp, maxReplyNumTemp, levelTemp, minReplyNumTemp;
            DateTime minDateTemp = CY.UME.Core.Global.MinDateTime, maxDateTemp = DateTime.MaxValue;

            if (int.TryParse(minviewnum.Value.Trim(), out minViewNumTemp))
            {
                minViewNum = minViewNumTemp;
            }
            if (int.TryParse(maxviewnum.Value.Trim(), out maxViewNumTemp))
            {
                maxViewNum = maxViewNumTemp;
            }
            if (int.TryParse(maxreplynum.Value.Trim(), out maxReplyNumTemp))
            {
                maxReplyNum = maxReplyNumTemp;
            }
            if (int.TryParse(minreplynum.Value.Trim(), out minReplyNumTemp))
            {
                minReplyNum = minReplyNumTemp;
            }
            if (DateTime.TryParse(minPubDate.Value.Trim(), out minDateTemp))
            {
                minDate = minDateTemp;
            }
            if (DateTime.TryParse(maxPubDate.Value.Trim(), out maxDateTemp))
            {
                maxDate = maxDateTemp;
            }

            strTitle = title.Value.Trim();
            strAuthorName = authorname.Value.Trim();
            InstruID = group.Id.ToString();
            InstruType = "group";

            #endregion
            CY.UME.Core.Business.Topic topic = new CY.UME.Core.Business.Topic();
            topicList = topic.SearchTopices(InstruID, InstruType, strAuthorName, strTitle, minViewNum, maxViewNum, minReplyNum, maxReplyNum, minDate, maxDate, level, null, pageInfo);

            int count = topic.GetSearchTopicesCount(InstruID, InstruType, strAuthorName, strTitle, minViewNum, maxViewNum, minReplyNum, maxReplyNum, minDate, maxDate, level, null, pageInfo);

            if (count > pageInfo.PageSize)
            {
                IsDisPaged = true;
            }

            //authorname.Value = "";
            //minviewnum.Value = "";
            //maxviewnum.Value = "";
            //minreplynum.Value = "";
            //maxreplynum.Value = "";
            //title.Value = "";

            mgt_HiddenPageSize.Value = "10";
            mgt_HiddenRecordCount.Value = count.ToString();
            mgt_HiddenSiteUrl.Value = SiteUrl;
            mgt_HiddenGroupId.Value = group.Id.ToString();
        }
Exemplo n.º 2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            int? minViewNum = 0, maxViewNum = 0, maxReplyNum = 0, level = 0, minReplyNum = 0;
            string title, authorName, groupId;
            DateTime? minDate = DateTime.MinValue, maxDate = DateTime.MaxValue;
            int pageSize = 0, pageNum = 0;
            int minViewNumTemp, maxViewNumTemp, maxReplyNumTemp, levelTemp, minReplyNumTemp;
            DateTime minDateTemp = DateTime.MinValue, maxDateTemp = DateTime.MaxValue;
            string InstruID = string.Empty;//ID
            string InstruType = string.Empty;//类型
            #region validate
            if (context.Request.QueryString["type"] != null && context.Request.QueryString["type"].ToString() == "active")
            {
                if (context.Request.QueryString["activeId"] == null || context.Request.QueryString["minViewNum"] == null
                    || context.Request.QueryString["maxViewNum"] == null || context.Request.QueryString["maxReplyNum"] == null
                     || context.Request.QueryString["minReplyNum"] == null
                    || context.Request.QueryString["authorName"] == null || context.Request.QueryString["title"] == null
                    || context.Request.QueryString["minDate"] == null || context.Request.QueryString["maxDate"] == null
                    || context.Request.QueryString["pageSize"] == null || context.Request.QueryString["pageNum"] == null)
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }

                if (!int.TryParse(context.Request.QueryString["pageSize"].ToString(), out pageSize)
                    || !int.TryParse(context.Request.QueryString["pageNum"].ToString(), out pageNum))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                if (context.Request.QueryString["minViewNum"].ToString().Trim().Length == 0)
                {
                    minViewNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["minViewNum"].ToString().Trim(), out minViewNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minViewNum = minViewNumTemp;
                }

                if (context.Request.QueryString["maxViewNum"].ToString().Trim().Length == 0)
                {
                    maxViewNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["maxViewNum"].ToString().Trim(), out maxViewNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxViewNum = maxViewNumTemp;
                }

                if (context.Request.QueryString["maxReplyNum"].ToString().Trim().Length == 0)
                {
                    maxReplyNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["maxReplyNum"].ToString().Trim(), out maxReplyNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxReplyNum = maxReplyNumTemp;
                }

                if (context.Request.QueryString["minReplyNum"].ToString().Trim().Length == 0)
                {
                    minReplyNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["minReplyNum"].ToString().Trim(), out minReplyNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minReplyNum = minReplyNumTemp;
                }

                if (context.Request.QueryString["minDate"].ToString().Trim().Length == 0)
                {
                    minDate = null;
                }
                else if (!DateTime.TryParse(context.Request.QueryString["minDate"].ToString().Trim(), out minDateTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minDate = minDateTemp;
                }

                if (context.Request.QueryString["maxDate"].ToString().Trim().Length == 0)
                {
                    maxDate = null;
                }
                else if (!DateTime.TryParse(context.Request.QueryString["maxDate"].ToString().Trim(), out maxDateTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxDate = maxDateTemp;
                }
                string activeId = context.Request.QueryString["activeId"].ToString().Trim();
                InstruType = "active";
                InstruID = activeId;
            }
            else
            {
                if (context.Request.QueryString["groupId"] == null
                    || context.Request.QueryString["minViewNum"] == null
                    || context.Request.QueryString["maxViewNum"] == null
                    || context.Request.QueryString["maxReplyNum"] == null
                    || context.Request.QueryString["level"] == null
                    || context.Request.QueryString["minReplyNum"] == null
                    || context.Request.QueryString["authorName"] == null
                    || context.Request.QueryString["title"] == null
                    || context.Request.QueryString["minDate"] == null
                    || context.Request.QueryString["maxDate"] == null
                    || context.Request.QueryString["pageSize"] == null
                    || context.Request.QueryString["pageNum"] == null)
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }

                if (!int.TryParse(context.Request.QueryString["pageSize"].ToString(), out pageSize)
                    || !int.TryParse(context.Request.QueryString["pageNum"].ToString(), out pageNum))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                if (context.Request.QueryString["minViewNum"].ToString().Trim().Length == 0)
                {
                    minViewNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["minViewNum"].ToString().Trim(), out minViewNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minViewNum = minViewNumTemp;
                }

                if (context.Request.QueryString["maxViewNum"].ToString().Trim().Length == 0)
                {
                    maxViewNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["maxViewNum"].ToString().Trim(), out maxViewNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxViewNum = maxViewNumTemp;
                }

                if (context.Request.QueryString["maxReplyNum"].ToString().Trim().Length == 0)
                {
                    maxReplyNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["maxReplyNum"].ToString().Trim(), out maxReplyNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxReplyNum = maxReplyNumTemp;
                }

                if (context.Request.QueryString["level"].ToString().Trim().Length == 0)
                {
                    level = null;
                }
                else if (!int.TryParse(context.Request.QueryString["level"].ToString().Trim(), out levelTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    level = levelTemp;
                }

                if (context.Request.QueryString["minReplyNum"].ToString().Trim().Length == 0)
                {
                    minReplyNum = null;
                }
                else if (!int.TryParse(context.Request.QueryString["minReplyNum"].ToString().Trim(), out minReplyNumTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minReplyNum = minReplyNumTemp;
                }

                if (context.Request.QueryString["minDate"].ToString().Trim().Length == 0)
                {
                    minDate = null;
                }
                else if (!DateTime.TryParse(context.Request.QueryString["minDate"].ToString().Trim(), out minDateTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    minDate = minDateTemp;
                }

                if (context.Request.QueryString["maxDate"].ToString().Trim().Length == 0)
                {
                    maxDate = null;
                }
                else if (!DateTime.TryParse(context.Request.QueryString["maxDate"].ToString().Trim(), out maxDateTemp))
                {
                    context.Response.Write("{success:false,msg:'参数错误'}");
                    return;
                }
                else
                {
                    maxDate = maxDateTemp;
                }
                groupId = context.Request.QueryString["groupId"].ToString().Trim();
                InstruType = "group";
                InstruID = groupId.ToString();
            }

            title = context.Request.QueryString["title"].ToString().Trim();
            authorName = context.Request.QueryString["authorName"].ToString().Trim();

            #endregion

            try
            {
                CY.UME.Core.PagingInfo pageInfo = new CY.UME.Core.PagingInfo();

                pageInfo.CurrentPage = pageNum;
                pageInfo.PageSize = pageSize;

                if (minViewNum > maxViewNum && minViewNum.HasValue && maxViewNum.HasValue)
                {
                    int viewTemp = minViewNum.Value;
                    minViewNum = maxViewNum;
                    maxViewNum = viewTemp;
                }
                if (minReplyNum > maxViewNum && minViewNum.HasValue && maxViewNum.HasValue)
                {
                    int replyTemp = minReplyNum.Value;
                    minReplyNum = maxReplyNum;
                    maxReplyNum = replyTemp;
                }
                if (minDate.HasValue && maxDate.HasValue && DateTime.Compare(minDate.Value, maxDate.Value) > 0)
                {
                    DateTime dateTemp = new DateTime();
                    dateTemp = minDate.Value;

                    minDate = maxDate;
                    maxDate = dateTemp;
                }

                CY.UME.Core.Business.Topic topic = new CY.UME.Core.Business.Topic();

                List<CY.UME.Core.Business.Topic> topicList = topic.SearchTopices(InstruID, InstruType, authorName, title, minViewNum, maxViewNum, minReplyNum, maxReplyNum, minDate, maxDate, level, null, pageInfo);
                StringBuilder sb = new StringBuilder();

                sb.Append("{success:true,Topices:[");

                foreach (CY.UME.Core.Business.Topic t in topicList)
                {
                    CY.UME.Core.Business.Account account = CY.UME.Core.Business.Account.Load(t.AccountId);
                    string name = String.Empty;
                    long accountId = 0;
                    if (account == null)
                    {
                        name = "该用户不存在";
                    }
                    else
                    {
                        name = account.Name;
                        accountId = account.Id;
                    }

                    sb.Append("{");
                    sb.Append("Id:'" + t.Id + "'");
                    sb.Append(",Title:'" + CY.Utility.Common.StringUtility.EscapeString(CY.Utility.Common.StringUtility.CutString(t.Title, 30, "...")) + "'");
                    sb.Append(",ViewNum:" + t.ViewNum);
                    sb.Append(",ReplyNum:" + t.ReplyNum);
                    sb.Append(",Name:'" + name + "'");
                    sb.Append(",AuthorId:" + accountId);
                    sb.Append(",Date:'" + t.DateCreated.ToString("yyyy-MM-dd HH:mm") + "'");
                    sb.Append("},");
                }

                if (topicList.Count > 0)
                {
                    sb.Remove(sb.Length - 1, 1);
                }

                sb.Append("]}");

                context.Response.Write(sb.ToString());

            }
            catch
            {
                context.Response.Write("{success:false,msg:'系统忙,请稍后再试!'}");
            }
        }