예제 #1
0
        /// <summary>
        /// 获得数据列表
        /// </summary>
        /// <returns></returns>
        public static List <WeekInfo> GetList()
        {
            string cacheKey = GetCacheKey();

            //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
            if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
            {
                return(CachedEntityCommander.GetCache(cacheKey) as List <WeekInfo>);
            }
            else
            {
                List <WeekInfo> list       = new List <WeekInfo>();
                WeekCollection  collection = new  WeekCollection();
                Query           qry        = new Query(Week.Schema);
                collection.LoadAndCloseReader(qry.ExecuteReader());
                foreach (Week week in collection)
                {
                    WeekInfo weekInfo = new WeekInfo();
                    LoadFromDAL(weekInfo, week);
                    list.Add(weekInfo);
                }
                //生成缓存
                if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)))
                {
                    CachedEntityCommander.SetCache(cacheKey, list);
                }
                return(list);
            }
        }
예제 #2
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 <WeekInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <WeekInfo> list = new List <WeekInfo>();

            Query q = Week.CreateQuery();

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

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (Week week  in collection)
            {
                WeekInfo weekInfo = new WeekInfo();
                LoadFromDAL(weekInfo, week);
                list.Add(weekInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
예제 #3
0
        //数据持久化
        internal static void  SaveToDb(WeekInfo pWeekInfo, Week pWeek, bool pIsNew)
        {
            pWeek.WeekId   = pWeekInfo.weekId;
            pWeek.WeekName = pWeekInfo.weekName;
            pWeek.IsNew    = pIsNew;
            string UserName = SubsonicHelper.GetUserName();

            try
            {
                pWeek.Save(UserName);
            }
            catch (Exception ex)
            {
                LogManager.getInstance().getLogger(typeof(WeekInfo)).Error(ex);
                if (ex.Message.Contains("插入重复键"))               //违反了唯一键
                {
                    throw new AppException("此对象已经存在");          //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
                }
                throw new AppException("保存失败");
            }
            pWeekInfo.weekId = pWeek.WeekId;
            //如果缓存存在,更新缓存
            if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)))
            {
                ResetCache();
            }
        }
예제 #4
0
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List <WeekInfo> pList, WeekCollection pCollection)
 {
     foreach (Week week in pCollection)
     {
         WeekInfo weekInfo = new WeekInfo();
         LoadFromDAL(weekInfo, week);
         pList.Add(weekInfo);
     }
 }
예제 #5
0
        public WeekInfo GetWeekInfoById(int WeekId)
        {
            WeekInfo weekInfo  = null;//
            try
            {
                 weekInfo = new WeekInfo(WeekId);

            }
            catch (AppException)
            {
                return null;
            }

            return  weekInfo;
        }
예제 #6
0
        public WeekInfo GetWeekInfoById(int WeekId)
        {
            WeekInfo weekInfo = null;             //

            try
            {
                weekInfo = new WeekInfo(WeekId);
            }
            catch (AppException)
            {
                return(null);
            }

            return(weekInfo);
        }
예제 #7
0
 private void LoadFromId(int weekId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)))
     {
         WeekInfo weekInfo = Find(GetList(), weekId);
         if (weekInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(weekInfo, this);
     }
     else
     {
         Week week = new Week(weekId);
         if (week.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, week);
     }
 }
예제 #8
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 //数据持久化
 internal static void SaveToDb(WeekInfo pWeekInfo, Week  pWeek,bool pIsNew)
 {
     pWeek.WeekId = pWeekInfo.weekId;
      		pWeek.WeekName = pWeekInfo.weekName;
     pWeek.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pWeek.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(WeekInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pWeekInfo.weekId = pWeek.WeekId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)))
     {
         ResetCache();
     }
 }
예제 #9
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List< WeekInfo> pList, WeekCollection pCollection)
 {
     foreach (Week week in pCollection)
     {
         WeekInfo weekInfo = new WeekInfo();
         LoadFromDAL(weekInfo, week );
         pList.Add(weekInfo);
     }
 }
예제 #10
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 //从后台获取数据
 internal static void LoadFromDAL(WeekInfo pWeekInfo, Week  pWeek)
 {
     pWeekInfo.weekId = pWeek.WeekId;
      		pWeekInfo.weekName = pWeek.WeekName;
     pWeekInfo.Loaded=true;
 }
예제 #11
0
 public object  SaveWeekInfo(WeekInfo weekInfo)
 {
     weekInfo.Save();
     return(weekInfo.WeekId);
 }
예제 #12
0
 public List <WeekInfo> GetWeekInfoList()
 {
     return(WeekInfo.GetList());
 }
예제 #13
0
 /// <summary>
 /// 复制为另一个对象
 /// </summary>
 /// <param name="pIndustryTypeInfoTo"></param>
 public void CopyTo(WeekInfo pWeekInfoTo)
 {
     Copy(this, pWeekInfoTo);
 }
예제 #14
0
 //从后台获取数据
 internal static void  LoadFromDAL(WeekInfo pWeekInfo, Week pWeek)
 {
     pWeekInfo.weekId   = pWeek.WeekId;
     pWeekInfo.weekName = pWeek.WeekName;
     pWeekInfo.Loaded   = true;
 }
예제 #15
0
        public void DeleteById(WeekInfo pWeekInfo)
        {
            WeekInfo weekInfo = new WeekInfo(pWeekInfo.WeekId);

            weekInfo.Delete();
        }
예제 #16
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 /// <summary>
 /// 复制一个对象,采用硬编码的方式,避免反射的低效
 /// </summary>
 /// <param name="pIndustryTypeInfoFrom"></param>
 /// <param name="pIndustryTypeInfoTo"></param>
 public static void Copy(WeekInfo pWeekInfoFrom, WeekInfo pWeekInfoTo)
 {
     pWeekInfoTo.WeekId = pWeekInfoFrom.weekId;
      		pWeekInfoTo.WeekName = pWeekInfoFrom.weekName;
     pWeekInfoTo.Loaded=pWeekInfoFrom.Loaded;
 }
예제 #17
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 /// <summary>
 /// 获得数据列表
 /// </summary>
 /// <returns></returns>
 public static List<WeekInfo> GetList()
 {
     string cacheKey = GetCacheKey();
     //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
     if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
     {
         return CachedEntityCommander.GetCache(cacheKey) as List< WeekInfo>;
     }
     else
     {
         List< WeekInfo>  list =new List< WeekInfo>();
         WeekCollection  collection=new  WeekCollection();
         Query qry = new Query(Week.Schema);
         collection.LoadAndCloseReader(qry.ExecuteReader());
         foreach(Week week in collection)
         {
             WeekInfo weekInfo= new WeekInfo();
             LoadFromDAL(weekInfo,week);
             list.Add(weekInfo);
         }
       	//生成缓存
         if (CachedEntityCommander.IsTypeRegistered(typeof(WeekInfo)))
         {
             CachedEntityCommander.SetCache(cacheKey, list);
         }
         return list;
     }
 }
예제 #18
0
 public List <WeekInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
 {
     return(WeekInfo.GetPagedList(pPageIndex, pPageSize, pOrderBy, pSortExpression, out pRecordCount));
 }
예제 #19
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
        /// <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<WeekInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount)
        {
            if(pPageIndex<=1)
            pPageIndex=1;
            List< WeekInfo> list = new List< WeekInfo>();

            Query q = Week .CreateQuery();
            q.PageIndex = pPageIndex;
            q.PageSize = pPageSize;
            q.ORDER_BY(pSortExpression,pOrderBy.ToString());
            WeekCollection  collection=new  WeekCollection();
             	collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (Week  week  in collection)
            {
                WeekInfo weekInfo = new WeekInfo();
                LoadFromDAL(weekInfo,   week);
                list.Add(weekInfo);
            }
            pRecordCount=q.GetRecordCount();

            return list;
        }
예제 #20
0
 public void DeleteById(WeekInfo pWeekInfo)
 {
     WeekInfo weekInfo = new WeekInfo(pWeekInfo.WeekId);
     weekInfo.Delete();
 }
예제 #21
0
파일: WeekInfo.cs 프로젝트: xingfudaiyan/OA
 /// <summary>
 /// 复制为另一个对象
 /// </summary>
 /// <param name="pIndustryTypeInfoTo"></param>
 public void CopyTo(WeekInfo pWeekInfoTo)
 {
     Copy(this,  pWeekInfoTo);
 }
예제 #22
0
 public object SaveWeekInfo(WeekInfo weekInfo)
 {
     weekInfo.Save();
     return weekInfo . WeekId;
 }
예제 #23
0
 /// <summary>
 /// 复制一个对象,采用硬编码的方式,避免反射的低效
 /// </summary>
 /// <param name="pIndustryTypeInfoFrom"></param>
 /// <param name="pIndustryTypeInfoTo"></param>
 public static void Copy(WeekInfo pWeekInfoFrom, WeekInfo pWeekInfoTo)
 {
     pWeekInfoTo.WeekId   = pWeekInfoFrom.weekId;
     pWeekInfoTo.WeekName = pWeekInfoFrom.weekName;
     pWeekInfoTo.Loaded   = pWeekInfoFrom.Loaded;
 }