예제 #1
0
        public ActionInfo GetActionInfoById(int ActionId)
        {
            ActionInfo actionInfo  = null;//
            try
            {
                 actionInfo = new ActionInfo(ActionId);

            }
            catch (AppException)
            {
                return null;
            }

            return  actionInfo;
        }
예제 #2
0
 private void LoadFromId(int actionId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(ActionInfo)))
     {
         ActionInfo actionInfo = Find(GetList(), actionId);
         if (actionInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(actionInfo, this);
     }
     else
     {
         Action action = new Action(actionId);
         if (action.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, action);
     }
 }
예제 #3
0
 //从后台获取数据
 internal static void LoadFromDAL(ActionInfo pActionInfo, Action  pAction)
 {
     pActionInfo.actionId = pAction.ActionId;
      		pActionInfo.actionName = pAction.ActionName;
     pActionInfo.Loaded=true;
 }
예제 #4
0
 /// <summary>
 /// 复制为另一个对象
 /// </summary>
 /// <param name="pIndustryTypeInfoTo"></param>
 public void CopyTo(ActionInfo pActionInfoTo)
 {
     Copy(this,  pActionInfoTo);
 }
예제 #5
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<ActionInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount)
        {
            if(pPageIndex<=1)
            pPageIndex=1;
            List< ActionInfo> list = new List< ActionInfo>();

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

            foreach (Action  action  in collection)
            {
                ActionInfo actionInfo = new ActionInfo();
                LoadFromDAL(actionInfo,   action);
                list.Add(actionInfo);
            }
            pRecordCount=q.GetRecordCount();

            return list;
        }
예제 #6
0
 /// <summary>
 /// 获得数据列表
 /// </summary>
 /// <returns></returns>
 public static List<ActionInfo> GetList()
 {
     string cacheKey = GetCacheKey();
     //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
     if (CachedEntityCommander.IsTypeRegistered(typeof(ActionInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
     {
         return CachedEntityCommander.GetCache(cacheKey) as List< ActionInfo>;
     }
     else
     {
         List< ActionInfo>  list =new List< ActionInfo>();
         ActionCollection  collection=new  ActionCollection();
         Query qry = new Query(Action.Schema);
         collection.LoadAndCloseReader(qry.ExecuteReader());
         foreach(Action action in collection)
         {
             ActionInfo actionInfo= new ActionInfo();
             LoadFromDAL(actionInfo,action);
             list.Add(actionInfo);
         }
       	//生成缓存
         if (CachedEntityCommander.IsTypeRegistered(typeof(ActionInfo)))
         {
             CachedEntityCommander.SetCache(cacheKey, list);
         }
         return list;
     }
 }
예제 #7
0
 /// <summary>
 /// 复制一个对象,采用硬编码的方式,避免反射的低效
 /// </summary>
 /// <param name="pIndustryTypeInfoFrom"></param>
 /// <param name="pIndustryTypeInfoTo"></param>
 public static void Copy(ActionInfo pActionInfoFrom, ActionInfo pActionInfoTo)
 {
     pActionInfoTo.ActionId = pActionInfoFrom.actionId;
      		pActionInfoTo.ActionName = pActionInfoFrom.actionName;
     pActionInfoTo.Loaded=pActionInfoFrom.Loaded;
 }
예제 #8
0
 public object SaveActionInfo(ActionInfo actionInfo)
 {
     actionInfo.Save();
     return actionInfo . ActionId;
 }
예제 #9
0
 //从后台获取数据
 internal static void  LoadFromDAL(ActionInfo pActionInfo, Action pAction)
 {
     pActionInfo.actionId   = pAction.ActionId;
     pActionInfo.actionName = pAction.ActionName;
     pActionInfo.Loaded     = true;
 }
예제 #10
0
 public void DeleteById(ActionInfo pActionInfo)
 {
     ActionInfo actionInfo = new ActionInfo(pActionInfo.ActionId);
     actionInfo.Delete();
 }
예제 #11
0
 public object  SaveActionInfo(ActionInfo actionInfo)
 {
     actionInfo.Save();
     return(actionInfo.ActionId);
 }
예제 #12
0
 public List <ActionInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
 {
     return(ActionInfo.GetPagedList(pPageIndex, pPageSize, pOrderBy, pSortExpression, out pRecordCount));
 }
예제 #13
0
 public List <ActionInfo> GetActionInfoList()
 {
     return(ActionInfo.GetList());
 }
예제 #14
0
        public void DeleteById(ActionInfo pActionInfo)
        {
            ActionInfo actionInfo = new ActionInfo(pActionInfo.ActionId);

            actionInfo.Delete();
        }
예제 #15
0
 /// <summary>
 /// 复制为另一个对象
 /// </summary>
 /// <param name="pIndustryTypeInfoTo"></param>
 public void CopyTo(ActionInfo pActionInfoTo)
 {
     Copy(this, pActionInfoTo);
 }
예제 #16
0
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List< ActionInfo> pList, ActionCollection pCollection)
 {
     foreach (Action action in pCollection)
     {
         ActionInfo actionInfo = new ActionInfo();
         LoadFromDAL(actionInfo, action );
         pList.Add(actionInfo);
     }
 }
예제 #17
0
 //数据持久化
 internal static void SaveToDb(ActionInfo pActionInfo, Action  pAction,bool pIsNew)
 {
     pAction.ActionId = pActionInfo.actionId;
      		pAction.ActionName = pActionInfo.actionName;
     pAction.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pAction.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(ActionInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pActionInfo.actionId = pAction.ActionId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(ActionInfo)))
     {
         ResetCache();
     }
 }
예제 #18
0
 /// <summary>
 /// 复制一个对象,采用硬编码的方式,避免反射的低效
 /// </summary>
 /// <param name="pIndustryTypeInfoFrom"></param>
 /// <param name="pIndustryTypeInfoTo"></param>
 public static void Copy(ActionInfo pActionInfoFrom, ActionInfo pActionInfoTo)
 {
     pActionInfoTo.ActionId   = pActionInfoFrom.actionId;
     pActionInfoTo.ActionName = pActionInfoFrom.actionName;
     pActionInfoTo.Loaded     = pActionInfoFrom.Loaded;
 }