Esempio n. 1
0
        /// <summary>
        /// 使用缓存查询信息
        /// </summary>
        /// <param name="info">查询主体</param>
        /// <param name="totalcnt">返回条目数</param>
        /// <returns></returns>
        public DataTable QueryData(ActivitySearchEntity info, out int totalcnt)
        {
            if (info.UseDBPagination)
            {
                string key = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(info.ToJson(info), "MD5");
                DataTableRSCacheEntity rsobj = MyCache <DataTableRSCacheEntity> .Get(key);

                if (rsobj == null)
                {
                    DataTable dt = dao.QueryData(info, out totalcnt);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        rsobj = new DataTableRSCacheEntity()
                        {
                            Source = dt, TotalCnt = totalcnt
                        };
                        MyCache <DataTableRSCacheEntity> .Insert(key, rsobj, 60);
                    }
                    else
                    {
                        rsobj = new DataTableRSCacheEntity();
                    }
                }
                totalcnt = rsobj.TotalCnt;
                return(rsobj.Source);
            }
            else
            {
                return(dao.QueryData(info, out totalcnt));
            }
        }
Esempio n. 2
0
        protected virtual SqlParameter CreateParamter_Orderby(ActivitySearchEntity sp)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(" CASE WHEN a.ActivityEndTime<GETDATE() THEN 1 ELSE 0 END ASC,a.ActivityOrder ASC,a.ActivityStartTime ASC ");

            return(new SqlParameter("@OrderField", sb.ToString()));
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sp"></param>
        /// <returns></returns>
        protected virtual SqlParameter CreateParameter_Table(ActivitySearchEntity sp)
        {
            StringBuilder sbtable = new StringBuilder();

            sbtable.Append(@"dbo.M_Exhibition_Activity AS a
                LEFT JOIN dbo.M_Exhibition_Exhibitors AS ee ON ee.ExhibitorID = a.ExhibitorID
                INNER JOIN dbo.M_Exhibition_Main AS em ON em.ExhibitionID = a.ExhibitionID");

            return(new SqlParameter("@TableName", sbtable.ToString()));
        }
Esempio n. 4
0
        /// <summary>
        /// 核心方法。查询条件转换成sql参数
        /// </summary>
        /// <param name="sp"></param>
        /// <returns></returns>
        protected virtual List <SqlParameter> ParseToSqlParameters(ActivitySearchEntity sp)
        {
            List <SqlParameter> _parameters = new List <SqlParameter>();

            _parameters.Add(CreateParameter_Table(sp));
            _parameters.Add(CreateParameter_Fileds(sp));
            _parameters.Add(CreateParamter_Orderby(sp));
            _parameters.Add(CreateParameter_Where(sp));

            _parameters.Add(new SqlParameter("@pageSize", sp.PageSize));
            _parameters.Add(new SqlParameter("@pageIndex", sp.PageIndex));
            _parameters.Add(new SqlParameter()
            {
                ParameterName = "@Records", Value = 0, Direction = System.Data.ParameterDirection.Output
            });
            return(_parameters);
        }
Esempio n. 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="info"></param>
        /// <param name="totalcnt"></param>
        /// <returns></returns>
        public DataTable QueryData(ActivitySearchEntity info, out int totalcnt)
        {
            try
            {
                SqlParameter[] prms = ParseToSqlParameters(info).ToArray();
                DataTable      dt   = SQlHelper.ExecuteDataset(SQlHelper.MyConnectStr, CommandType.StoredProcedure, "sp_pager05", prms).Tables[0];
                totalcnt = int.Parse(prms[prms.Length - 1].Value.ToString());

                return(dt);
            }
            catch (Exception ex)
            {
                totalcnt = -1;
                LogUtil.WriteLog(ex);
                return(null);
            }
        }
Esempio n. 6
0
        //,CONVERT(varchar(30), a.ActivityStartTime, 20) as ActivityStartTime
        //,CONVERT(varchar(30), a.ActivityEndTime, 20) as ActivityEndTime

        /// <summary>
        ///
        /// </summary>
        /// <param name="sp"></param>
        /// <returns></returns>
        protected virtual SqlParameter CreateParameter_Where(ActivitySearchEntity sp)
        {
            StringBuilder sbwhere = new StringBuilder(" 1=1 AND ((ee.ExhibitorID IS NOT NULL AND ee.StateTypeID=1) OR ee.ExhibitorID IS NULL) AND a.StateTypeID=1 AND em.StateTypeID=1 ");

            if (sp.ExhibitionID > 0)
            {
                sbwhere.AppendFormat(" AND em.ExhibitionID = {0}", sp.ExhibitionID);
            }

            if (!string.IsNullOrEmpty(sp.SearchName))
            {
                sbwhere.AppendFormat(@" AND (a.ActivityHostUnit LIKE '%{0}%'  
                            OR a.ActivityTitle LIKE '%{0}%') "
                                     , sp.SearchName);
            }

            return(new SqlParameter("@sqlWhere", sbwhere.ToString()));
        }
Esempio n. 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sp"></param>
        /// <returns></returns>
        protected virtual SqlParameter CreateParameter_Fileds(ActivitySearchEntity sp)
        {
            StringBuilder sbfileds = new StringBuilder();

            sbfileds.Append(@"a.ActivityID
                ,a.ParentID
                ,a.ExhibitorID
                ,a.ActivityTitle
                ,a.ActivityStartTime
                ,a.ActivityEndTime
                ,a.ActivityLocation
                ,a.ActivityHostUnit
                ,a.ActivityAbstract
                ,a.ActivityGuest
                ,ISNULL(ee.ExhibitorName,'') AS ExhibitorName
                ,ISNULL(ee.ExhibitorPinYin,'') AS ExhibitorPinYin
                ,ActivityIsEnd = CASE WHEN a.ActivityEndTime<GETDATE() THEN 1 ELSE 0 END");
            return(new SqlParameter("@Fields", sbfileds.ToString()));
        }
        private DataTable GetQueryData(bool isDownload)
        {
            int totalcnt = 0;

            ActivitySearchEntity entity = new ActivitySearchEntity();

            entity.ExhibitionID = _intExhibitionID;
            entity.SearchName   = _strSearchName;

            entity.PageSize        = base.PageSize;
            entity.PageIndex       = base.PageIndex;
            entity.UseDBPagination = !isDownload;

            DataTable table = bll.QueryData(entity, out totalcnt);

            base.TotalRecords = totalcnt;

            return(table);
        }
        //,CONVERT(varchar(30), a.ActivityStartTime, 20) as ActivityStartTime
        //,CONVERT(varchar(30), a.ActivityEndTime, 20) as ActivityEndTime

        /// <summary>
        ///
        /// </summary>
        /// <param name="sp"></param>
        /// <returns></returns>
        protected virtual SqlParameter CreateParameter_Where(ActivitySearchEntity sp)
        {
            StringBuilder sbwhere = new StringBuilder(" 1=1 AND ((ee.ExhibitorID IS NOT NULL AND ee.StateTypeID=1) OR ee.ExhibitorID IS NULL) AND em.StateTypeID=1 AND a.StateTypeID=1 ");

            if (sp.ParentID > 0)
            {
                sbwhere.AppendFormat(" AND a.ParentID = {0}", sp.ParentID);
            }
            else
            {
                sbwhere.Append(" AND a.ParentID = 0");
            }

            if (sp.ExhibitionID > 0)
            {
                sbwhere.AppendFormat(" AND em.ExhibitionID = {0}", sp.ExhibitionID);
            }

            if (!string.IsNullOrEmpty(sp.SearchName))
            {
                sbwhere.AppendFormat(@" AND a.ActivityTitle LIKE '%{0}%' "
                                     , sp.SearchName);
            }

            sbwhere.Append(@" GROUP BY a.ActivityID
                , a.ParentID
                , a.ExhibitorID
                , a.ActivityTitle
                , a.ActivityStartTime
                , a.ActivityEndTime
                , a.ActivityStartTime
                , a.ActivityEndTime
                , a.ActivityLocation
                , a.ActivityHostUnit
                , a.ActivityAbstract
                , a.ActivityGuest
                , ee.ExhibitorName
                , ee.ExhibitorPinYin
                , a.ActivityEndTime ");

            return(new SqlParameter("@sqlWhere", sbwhere.ToString()));
        }
 /// <summary>
 /// 使用缓存查询信息
 /// </summary>
 /// <param name="info">查询主体</param>
 /// <param name="totalcnt">返回条目数</param>
 /// <returns></returns>
 public DataTable QueryData(ActivitySearchEntity info, out int totalcnt)
 {
     return(dao.QueryData(info, out totalcnt));
 }