コード例 #1
0
ファイル: DayScoreInfo.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 <DayScoreInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <DayScoreInfo> list = new List <DayScoreInfo>();

            Query q = DayScore.CreateQuery();

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

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (DayScore dayScore  in collection)
            {
                DayScoreInfo dayScoreInfo = new DayScoreInfo();
                LoadFromDAL(dayScoreInfo, dayScore);
                list.Add(dayScoreInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
コード例 #2
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
        //数据持久化
        internal static void  SaveToDb(DayScoreInfo pDayScoreInfo, DayScore pDayScore, bool pIsNew)
        {
            pDayScore.DayScoreId  = pDayScoreInfo.dayScoreId;
            pDayScore.Today       = pDayScoreInfo.today;
            pDayScore.Item        = pDayScoreInfo.item;
            pDayScore.FinishTime  = pDayScoreInfo.finishTime;
            pDayScore.Roles       = pDayScoreInfo.roles;
            pDayScore.TimeSpan    = pDayScoreInfo.timeSpan;
            pDayScore.Memo        = pDayScoreInfo.memo;
            pDayScore.Score       = pDayScoreInfo.score;
            pDayScore.WeekScoreId = pDayScoreInfo.weekScoreId;
            pDayScore.DayRoleId   = pDayScoreInfo.dayRoleId;
            pDayScore.IsNew       = pIsNew;
            string UserName = SubsonicHelper.GetUserName();

            try
            {
                pDayScore.Save(UserName);
            }
            catch (Exception ex)
            {
                LogManager.getInstance().getLogger(typeof(DayScoreInfo)).Error(ex);
                if (ex.Message.Contains("插入重复键"))               //违反了唯一键
                {
                    throw new AppException("此对象已经存在");          //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
                }
                throw new AppException("保存失败");
            }
            pDayScoreInfo.dayScoreId = pDayScore.DayScoreId;
            //如果缓存存在,更新缓存
            if (CachedEntityCommander.IsTypeRegistered(typeof(DayScoreInfo)))
            {
                ResetCache();
            }
        }
コード例 #3
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 //从后台获取数据
 internal static void  LoadFromDAL(DayScoreInfo pDayScoreInfo, DayScore pDayScore)
 {
     pDayScoreInfo.dayScoreId  = pDayScore.DayScoreId;
     pDayScoreInfo.today       = pDayScore.Today;
     pDayScoreInfo.item        = pDayScore.Item;
     pDayScoreInfo.finishTime  = pDayScore.FinishTime;
     pDayScoreInfo.roles       = pDayScore.Roles;
     pDayScoreInfo.timeSpan    = pDayScore.TimeSpan;
     pDayScoreInfo.memo        = pDayScore.Memo;
     pDayScoreInfo.score       = pDayScore.Score;
     pDayScoreInfo.weekScoreId = pDayScore.WeekScoreId;
     pDayScoreInfo.dayRoleId   = pDayScore.DayRoleId;
     pDayScoreInfo.Loaded      = true;
 }
コード例 #4
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
        public static void  DelDaysOfWk(int wkid)
        {
            Query q = DayScore.Query();

            q.AddWhere(DayScore.Columns.WeekScoreId, wkid);
            q.QueryType = QueryType.Delete;
            q.Execute();

            Query s = WeekScore.Query();

            s.AddWhere(WeekScore.Columns.WeekScoreId, wkid);
            s.QueryType = QueryType.Delete;
            s.Execute();
        }
コード例 #5
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if (!m_Loaded)           //新增
     {
         DayScore dayScore = new DayScore();
         SaveToDb(this, dayScore, true);
     }
     else            //修改
     {
         DayScore dayScore = new DayScore(dayScoreId);
         if (dayScore.IsNew)
         {
             throw new AppException("该数据已经不存在了");
         }
         SaveToDb(this, dayScore, false);
     }
 }
コード例 #6
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>是否成功</returns>
        public override void Delete()
        {
            if (!m_Loaded)
            {
                throw new AppException("尚未初始化");
            }
            bool result = (DayScore.Delete(DayScoreId) == 1);

            //更新缓存
            if (result && CachedEntityCommander.IsTypeRegistered(typeof(DayScoreInfo)))
            {
                ResetCache();
            }
            if (!result)
            {
                throw new AppException("删除失败,数据可能被删除");
            }
        }
コード例 #7
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 private void LoadFromId(int dayScoreId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(DayScoreInfo)))
     {
         DayScoreInfo dayScoreInfo = Find(GetList(), dayScoreId);
         if (dayScoreInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(dayScoreInfo, this);
     }
     else
     {
         DayScore dayScore = new DayScore(dayScoreId);
         if (dayScore.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, dayScore);
     }
 }
コード例 #8
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 public static void DelDayScore(int daid)
 {
     DayScore.Delete(daid);
 }
コード例 #9
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 private void LoadFromId(int dayScoreId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(DayScoreInfo)))
     {
         DayScoreInfo dayScoreInfo=Find(GetList(), dayScoreId);
         if(dayScoreInfo==null)
             throw new AppException("未能在缓存中找到相应的键值对象");
         Copy(dayScoreInfo, this);
     }
     else
     {	DayScore dayScore=new DayScore( dayScoreId);
         if(dayScore.IsNew)
         throw new AppException("尚未初始化");
        	LoadFromDAL(this, dayScore);
     }
 }
コード例 #10
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 //数据持久化
 internal static void SaveToDb(DayScoreInfo pDayScoreInfo, DayScore  pDayScore,bool pIsNew)
 {
     pDayScore.DayScoreId = pDayScoreInfo.dayScoreId;
      		pDayScore.Today = pDayScoreInfo.today;
      		pDayScore.Item = pDayScoreInfo.item;
      		pDayScore.FinishTime = pDayScoreInfo.finishTime;
      		pDayScore.Roles = pDayScoreInfo.roles;
      		pDayScore.TimeSpan = pDayScoreInfo.timeSpan;
      		pDayScore.Memo = pDayScoreInfo.memo;
      		pDayScore.Score = pDayScoreInfo.score;
      		pDayScore.WeekScoreId = pDayScoreInfo.weekScoreId;
      		pDayScore.DayRoleId = pDayScoreInfo.dayRoleId;
     pDayScore.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pDayScore.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(DayScoreInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pDayScoreInfo.dayScoreId = pDayScore.DayScoreId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(DayScoreInfo)))
     {
         ResetCache();
     }
 }
コード例 #11
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 //从后台获取数据
 internal static void LoadFromDAL(DayScoreInfo pDayScoreInfo, DayScore  pDayScore)
 {
     pDayScoreInfo.dayScoreId = pDayScore.DayScoreId;
      		pDayScoreInfo.today = pDayScore.Today;
      		pDayScoreInfo.item = pDayScore.Item;
      		pDayScoreInfo.finishTime = pDayScore.FinishTime;
      		pDayScoreInfo.roles = pDayScore.Roles;
      		pDayScoreInfo.timeSpan = pDayScore.TimeSpan;
      		pDayScoreInfo.memo = pDayScore.Memo;
      		pDayScoreInfo.score = pDayScore.Score;
      		pDayScoreInfo.weekScoreId = pDayScore.WeekScoreId;
      		pDayScoreInfo.dayRoleId = pDayScore.DayRoleId;
     pDayScoreInfo.Loaded=true;
 }
コード例 #12
0
ファイル: DayScoreInfo.cs プロジェクト: xingfudaiyan/OA
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if(!m_Loaded)//新增
     {
         DayScore dayScore=new DayScore();
         SaveToDb(this, dayScore,true);
     }
     else//修改
     {
         DayScore dayScore=new DayScore(dayScoreId);
         if(dayScore.IsNew)
             throw new AppException("该数据已经不存在了");
         SaveToDb(this, dayScore,false);
     }
 }