Beispiel #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 <OutRegistInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <OutRegistInfo> list = new List <OutRegistInfo>();

            Query q = OutRegist.CreateQuery();

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

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (OutRegist outRegist  in collection)
            {
                OutRegistInfo outRegistInfo = new OutRegistInfo();
                LoadFromDAL(outRegistInfo, outRegist);
                list.Add(outRegistInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
Beispiel #2
0
        //数据持久化
        internal static void  SaveToDb(OutRegistInfo pOutRegistInfo, OutRegist pOutRegist, bool pIsNew)
        {
            pOutRegist.OutRegistId = pOutRegistInfo.outRegistId;
            pOutRegist.OutDate     = pOutRegistInfo.outDate;
            pOutRegist.OutTime     = pOutRegistInfo.outTime;
            pOutRegist.OutContent  = pOutRegistInfo.outContent;
            pOutRegist.BackTime    = pOutRegistInfo.backTime;
            pOutRegist.OutTool     = pOutRegistInfo.outTool;
            pOutRegist.Memo        = pOutRegistInfo.memo;
            pOutRegist.ApplyName   = pOutRegistInfo.applyName;
            pOutRegist.DepartName  = pOutRegistInfo.departName;
            pOutRegist.State       = pOutRegistInfo.state;
            pOutRegist.IsNew       = pIsNew;
            string UserName = SubsonicHelper.GetUserName();

            try
            {
                pOutRegist.Save(UserName);
            }
            catch (Exception ex)
            {
                LogManager.getInstance().getLogger(typeof(OutRegistInfo)).Error(ex);
                if (ex.Message.Contains("插入重复键"))               //违反了唯一键
                {
                    throw new AppException("此对象已经存在");          //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
                }
                throw new AppException("保存失败");
            }
            pOutRegistInfo.outRegistId = pOutRegist.OutRegistId;
            //如果缓存存在,更新缓存
            if (CachedEntityCommander.IsTypeRegistered(typeof(OutRegistInfo)))
            {
                ResetCache();
            }
        }
Beispiel #3
0
 //从后台获取数据
 internal static void  LoadFromDAL(OutRegistInfo pOutRegistInfo, OutRegist pOutRegist)
 {
     pOutRegistInfo.outRegistId = pOutRegist.OutRegistId;
     pOutRegistInfo.outDate     = pOutRegist.OutDate;
     pOutRegistInfo.outTime     = pOutRegist.OutTime;
     pOutRegistInfo.outContent  = pOutRegist.OutContent;
     pOutRegistInfo.backTime    = pOutRegist.BackTime;
     pOutRegistInfo.outTool     = pOutRegist.OutTool;
     pOutRegistInfo.memo        = pOutRegist.Memo;
     pOutRegistInfo.applyName   = pOutRegist.ApplyName;
     pOutRegistInfo.departName  = pOutRegist.DepartName;
     pOutRegistInfo.state       = pOutRegist.State;
     pOutRegistInfo.Loaded      = true;
 }
Beispiel #4
0
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if (!m_Loaded)           //新增
     {
         OutRegist outRegist = new OutRegist();
         SaveToDb(this, outRegist, true);
     }
     else            //修改
     {
         OutRegist outRegist = new OutRegist(outRegistId);
         if (outRegist.IsNew)
         {
             throw new AppException("该数据已经不存在了");
         }
         SaveToDb(this, outRegist, false);
     }
 }
Beispiel #5
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>是否成功</returns>
        public override void Delete()
        {
            if (!m_Loaded)
            {
                throw new AppException("尚未初始化");
            }
            bool result = (OutRegist.Delete(OutRegistId) == 1);

            //更新缓存
            if (result && CachedEntityCommander.IsTypeRegistered(typeof(OutRegistInfo)))
            {
                ResetCache();
            }
            if (!result)
            {
                throw new AppException("删除失败,数据可能被删除");
            }
        }
Beispiel #6
0
 private void LoadFromId(int outRegistId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(OutRegistInfo)))
     {
         OutRegistInfo outRegistInfo = Find(GetList(), outRegistId);
         if (outRegistInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(outRegistInfo, this);
     }
     else
     {
         OutRegist outRegist = new OutRegist(outRegistId);
         if (outRegist.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, outRegist);
     }
 }
Beispiel #7
0
 public static void DelOutRegist(int id)
 {
     OutRegist.Delete(id);
 }
Beispiel #8
0
 private void LoadFromId(int outRegistId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(OutRegistInfo)))
     {
         OutRegistInfo outRegistInfo=Find(GetList(), outRegistId);
         if(outRegistInfo==null)
             throw new AppException("未能在缓存中找到相应的键值对象");
         Copy(outRegistInfo, this);
     }
     else
     {	OutRegist outRegist=new OutRegist( outRegistId);
         if(outRegist.IsNew)
         throw new AppException("尚未初始化");
        	LoadFromDAL(this, outRegist);
     }
 }
Beispiel #9
0
 //数据持久化
 internal static void SaveToDb(OutRegistInfo pOutRegistInfo, OutRegist  pOutRegist,bool pIsNew)
 {
     pOutRegist.OutRegistId = pOutRegistInfo.outRegistId;
      		pOutRegist.OutDate = pOutRegistInfo.outDate;
      		pOutRegist.OutTime = pOutRegistInfo.outTime;
      		pOutRegist.OutContent = pOutRegistInfo.outContent;
      		pOutRegist.BackTime = pOutRegistInfo.backTime;
      		pOutRegist.OutTool = pOutRegistInfo.outTool;
      		pOutRegist.Memo = pOutRegistInfo.memo;
      		pOutRegist.ApplyName = pOutRegistInfo.applyName;
      		pOutRegist.DepartName = pOutRegistInfo.departName;
      		pOutRegist.State = pOutRegistInfo.state;
     pOutRegist.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pOutRegist.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(OutRegistInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pOutRegistInfo.outRegistId = pOutRegist.OutRegistId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(OutRegistInfo)))
     {
         ResetCache();
     }
 }
Beispiel #10
0
 //从后台获取数据
 internal static void LoadFromDAL(OutRegistInfo pOutRegistInfo, OutRegist  pOutRegist)
 {
     pOutRegistInfo.outRegistId = pOutRegist.OutRegistId;
      		pOutRegistInfo.outDate = pOutRegist.OutDate;
      		pOutRegistInfo.outTime = pOutRegist.OutTime;
      		pOutRegistInfo.outContent = pOutRegist.OutContent;
      		pOutRegistInfo.backTime = pOutRegist.BackTime;
      		pOutRegistInfo.outTool = pOutRegist.OutTool;
      		pOutRegistInfo.memo = pOutRegist.Memo;
      		pOutRegistInfo.applyName = pOutRegist.ApplyName;
      		pOutRegistInfo.departName = pOutRegist.DepartName;
      		pOutRegistInfo.state = pOutRegist.State;
     pOutRegistInfo.Loaded=true;
 }
Beispiel #11
0
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if(!m_Loaded)//新增
     {
         OutRegist outRegist=new OutRegist();
         SaveToDb(this, outRegist,true);
     }
     else//修改
     {
         OutRegist outRegist=new OutRegist(outRegistId);
         if(outRegist.IsNew)
             throw new AppException("该数据已经不存在了");
         SaveToDb(this, outRegist,false);
     }
 }