Ejemplo n.º 1
0
        /// <summary>
        /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据
        /// </summary>
        /// <param name="pPageIndex">页数</param>
        /// <param name="pPageSize">每页列表</param>
        /// <param name="pOrderBy">排序</param>
        /// <param name="pSortExpression">排序字段</param>
        /// <param name="pRecordCount">列表行数</param>
        /// <returns>数据分页</returns>
        public static List <ProjectTypeInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <ProjectTypeInfo> list = new List <ProjectTypeInfo>();

            Query q = ProjectType.CreateQuery();

            q.PageIndex = pPageIndex;
            q.PageSize  = pPageSize;
            q.ORDER_BY(pSortExpression, pOrderBy.ToString());
            ProjectTypeCollection collection = new  ProjectTypeCollection();

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (ProjectType projectType  in collection)
            {
                ProjectTypeInfo projectTypeInfo = new ProjectTypeInfo();
                LoadFromDAL(projectTypeInfo, projectType);
                list.Add(projectTypeInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获得数据列表
        /// </summary>
        /// <returns></returns>
        public static List <ProjectTypeInfo> GetList()
        {
            string cacheKey = GetCacheKey();

            //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
            if (CachedEntityCommander.IsTypeRegistered(typeof(ProjectTypeInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
            {
                return(CachedEntityCommander.GetCache(cacheKey) as List <ProjectTypeInfo>);
            }
            else
            {
                List <ProjectTypeInfo> list       = new List <ProjectTypeInfo>();
                ProjectTypeCollection  collection = new  ProjectTypeCollection();
                Query qry = new Query(ProjectType.Schema);
                collection.LoadAndCloseReader(qry.ExecuteReader());
                foreach (ProjectType projectType in collection)
                {
                    ProjectTypeInfo projectTypeInfo = new ProjectTypeInfo();
                    LoadFromDAL(projectTypeInfo, projectType);
                    list.Add(projectTypeInfo);
                }
                //生成缓存
                if (CachedEntityCommander.IsTypeRegistered(typeof(ProjectTypeInfo)))
                {
                    CachedEntityCommander.SetCache(cacheKey, list);
                }
                return(list);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List <ProjectTypeInfo> pList, ProjectTypeCollection pCollection)
 {
     foreach (ProjectType projectType in pCollection)
     {
         ProjectTypeInfo projectTypeInfo = new ProjectTypeInfo();
         LoadFromDAL(projectTypeInfo, projectType);
         pList.Add(projectTypeInfo);
     }
 }