public OperationInfo GetOperationInfoById(int OperationId) { OperationInfo operationInfo = null;// try { operationInfo = new OperationInfo(OperationId); } catch (AppException) { return null; } return operationInfo; }
private void LoadFromId(int operationId) { if (CachedEntityCommander.IsTypeRegistered(typeof(OperationInfo))) { OperationInfo operationInfo = Find(GetList(), operationId); if (operationInfo == null) { throw new AppException("未能在缓存中找到相应的键值对象"); } Copy(operationInfo, this); } else { Operation operation = new Operation(operationId); if (operation.IsNew) { throw new AppException("尚未初始化"); } LoadFromDAL(this, operation); } }
public List <OperationInfo> GetOperationInfoList() { return(OperationInfo.GetList()); }
public void DeleteById(OperationInfo pOperationInfo) { OperationInfo operationInfo = new OperationInfo(pOperationInfo.OperationId); operationInfo.Delete(); }
/// <summary> /// 复制为另一个对象 /// </summary> /// <param name="pIndustryTypeInfoTo"></param> public void CopyTo(OperationInfo pOperationInfoTo) { Copy(this, pOperationInfoTo); }
//从后台获取数据 internal static void LoadFromDAL(OperationInfo pOperationInfo, Operation pOperation) { pOperationInfo.operationId = pOperation.OperationId; pOperationInfo.operationName = pOperation.OperationName; pOperationInfo.Loaded = true; }
/// <summary> /// 复制一个对象,采用硬编码的方式,避免反射的低效 /// </summary> /// <param name="pIndustryTypeInfoFrom"></param> /// <param name="pIndustryTypeInfoTo"></param> public static void Copy(OperationInfo pOperationInfoFrom, OperationInfo pOperationInfoTo) { pOperationInfoTo.OperationId = pOperationInfoFrom.operationId; pOperationInfoTo.OperationName = pOperationInfoFrom.operationName; pOperationInfoTo.Loaded = pOperationInfoFrom.Loaded; }
/// <summary> /// 获得数据列表 /// </summary> /// <returns></returns> public static List<OperationInfo> GetList() { string cacheKey = GetCacheKey(); //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取 if (CachedEntityCommander.IsTypeRegistered(typeof(OperationInfo)) && CachedEntityCommander.GetCache(cacheKey) != null) { return CachedEntityCommander.GetCache(cacheKey) as List< OperationInfo>; } else { List< OperationInfo> list =new List< OperationInfo>(); OperationCollection collection=new OperationCollection(); Query qry = new Query(Operation.Schema); collection.LoadAndCloseReader(qry.ExecuteReader()); foreach(Operation operation in collection) { OperationInfo operationInfo= new OperationInfo(); LoadFromDAL(operationInfo,operation); list.Add(operationInfo); } //生成缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(OperationInfo))) { CachedEntityCommander.SetCache(cacheKey, list); } return list; } }
/// <summary> /// 批量装载 /// </summary> internal static void LoadFromDALPatch(List< OperationInfo> pList, OperationCollection pCollection) { foreach (Operation operation in pCollection) { OperationInfo operationInfo = new OperationInfo(); LoadFromDAL(operationInfo, operation ); pList.Add(operationInfo); } }
//数据持久化 internal static void SaveToDb(OperationInfo pOperationInfo, Operation pOperation,bool pIsNew) { pOperation.OperationId = pOperationInfo.operationId; pOperation.OperationName = pOperationInfo.operationName; pOperation.IsNew=pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pOperation.Save(UserName); } catch(Exception ex) { LogManager.getInstance().getLogger(typeof(OperationInfo)).Error(ex); if(ex.Message.Contains("插入重复键"))//违反了唯一键 { throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pOperationInfo.operationId = pOperation.OperationId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(OperationInfo))) { ResetCache(); } }
//从后台获取数据 internal static void LoadFromDAL(OperationInfo pOperationInfo, Operation pOperation) { pOperationInfo.operationId = pOperation.OperationId; pOperationInfo.operationName = pOperation.OperationName; pOperationInfo.Loaded=true; }
/// <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<OperationInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount) { if(pPageIndex<=1) pPageIndex=1; List< OperationInfo> list = new List< OperationInfo>(); Query q = Operation .CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression,pOrderBy.ToString()); OperationCollection collection=new OperationCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (Operation operation in collection) { OperationInfo operationInfo = new OperationInfo(); LoadFromDAL(operationInfo, operation); list.Add(operationInfo); } pRecordCount=q.GetRecordCount(); return list; }
public List <OperationInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount) { return(OperationInfo.GetPagedList(pPageIndex, pPageSize, pOrderBy, pSortExpression, out pRecordCount)); }
public object SaveOperationInfo(OperationInfo operationInfo) { operationInfo.Save(); return operationInfo . OperationId; }
public object SaveOperationInfo(OperationInfo operationInfo) { operationInfo.Save(); return(operationInfo.OperationId); }
/// <summary> /// 复制一个对象,采用硬编码的方式,避免反射的低效 /// </summary> /// <param name="pIndustryTypeInfoFrom"></param> /// <param name="pIndustryTypeInfoTo"></param> public static void Copy(OperationInfo pOperationInfoFrom, OperationInfo pOperationInfoTo) { pOperationInfoTo.OperationId = pOperationInfoFrom.operationId; pOperationInfoTo.OperationName = pOperationInfoFrom.operationName; pOperationInfoTo.Loaded=pOperationInfoFrom.Loaded; }