Пример #1
0
        //数据持久化
        internal static void  SaveToDb(OpProRoleInfo pOpProRoleInfo, OpProRole pOpProRole, bool pIsNew)
        {
            pOpProRole.OpProRoleId = pOpProRoleInfo.opProRoleId;
            pOpProRole.OperationId = pOpProRoleInfo.operationId;
            pOpProRole.ProcessId   = pOpProRoleInfo.processId;
            pOpProRole.RoleId      = pOpProRoleInfo.roleId;
            pOpProRole.IsNew       = pIsNew;
            string UserName = SubsonicHelper.GetUserName();

            try
            {
                pOpProRole.Save(UserName);
            }
            catch (Exception ex)
            {
                LogManager.getInstance().getLogger(typeof(OpProRoleInfo)).Error(ex);
                if (ex.Message.Contains("插入重复键"))               //违反了唯一键
                {
                    throw new AppException("此对象已经存在");          //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
                }
                throw new AppException("保存失败");
            }
            pOpProRoleInfo.opProRoleId = pOpProRole.OpProRoleId;
            //如果缓存存在,更新缓存
            if (CachedEntityCommander.IsTypeRegistered(typeof(OpProRoleInfo)))
            {
                ResetCache();
            }
        }
Пример #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 <OpProRoleInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <OpProRoleInfo> list = new List <OpProRoleInfo>();

            Query q = OpProRole.CreateQuery();

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

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (OpProRole opProRole  in collection)
            {
                OpProRoleInfo opProRoleInfo = new OpProRoleInfo();
                LoadFromDAL(opProRoleInfo, opProRole);
                list.Add(opProRoleInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
Пример #3
0
        //查询指定流程、角色的操作
        public static DataTable getOperation(int processid, int roleid)
        {
            Query q = OpProRole.Query();

            q.AddWhere(OpProRole.Columns.RoleId, roleid);
            q.AddWhere(OpProRole.Columns.ProcessId, processid);
            return(q.ExecuteDataSet().Tables[0]);
        }
Пример #4
0
 //从后台获取数据
 internal static void  LoadFromDAL(OpProRoleInfo pOpProRoleInfo, OpProRole pOpProRole)
 {
     pOpProRoleInfo.opProRoleId = pOpProRole.OpProRoleId;
     pOpProRoleInfo.operationId = pOpProRole.OperationId;
     pOpProRoleInfo.processId   = pOpProRole.ProcessId;
     pOpProRoleInfo.roleId      = pOpProRole.RoleId;
     pOpProRoleInfo.Loaded      = true;
 }
Пример #5
0
        ////重新赋值
        //public static void UpdateOperation(int operationid,int roleid,int processid)
        //{
        //    Query q = OpProRole.Query();
        //    q.AddWhere(OpProRole.Columns.RoleId, roleid);
        //    q.AddWhere(OpProRole.Columns.ProcessId, processid);
        //    q.AddUpdateSetting(OpProRole.Columns.OperationId, operationid);
        //    q.QueryType = QueryType.Update;
        //    q.Execute();
        //}

        //清空
        //public static void UpdateOperation(int processid, int roleid)
        //{
        //    Query q = OpProRole.Query();
        //    q.AddWhere(OpProRole.Columns.RoleId, roleid);
        //    q.AddWhere(OpProRole.Columns.ProcessId, processid);
        //    q.AddUpdateSetting(OpProRole.Columns.OperationId, null);
        //    q.QueryType = QueryType.Update;
        //    q.Execute();

        //}

        //删除指定操作权限
        public static void DelOperation(int processid, int roleid, int operationid)
        {
            Query q = OpProRole.Query();

            q.AddWhere(OpProRole.Columns.OperationId, operationid);
            q.AddWhere(OpProRole.Columns.RoleId, roleid);
            q.AddWhere(OpProRole.Columns.ProcessId, processid);
            q.QueryType = QueryType.Delete;
            q.Execute();
        }
Пример #6
0
        //删除角色及对应的操作、用户
        public static void DelRole(int id)
        {
            Query q = RoleMaster.Query();

            q.AddWhere(RoleMaster.Columns.RoleId, id);
            q.QueryType = QueryType.Delete;
            q.Execute();
            Query s = OpProRole.Query();

            s.AddWhere(OpProRole.Columns.RoleId, id);
            s.QueryType = QueryType.Delete;
            s.Execute();
            Role.Delete(id);
        }
Пример #7
0
        //ProcessRole数据是否存在
        public static bool IsProcessRole(int processid, int roleid)
        {
            Query q = OpProRole.Query();

            q.AddWhere(OpProRole.Columns.RoleId, roleid);
            q.AddWhere(OpProRole.Columns.ProcessId, processid);
            DataTable dt = q.ExecuteDataSet().Tables[0];

            if (dt.Rows.Count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #8
0
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if (!m_Loaded)           //新增
     {
         OpProRole opProRole = new OpProRole();
         SaveToDb(this, opProRole, true);
     }
     else            //修改
     {
         OpProRole opProRole = new OpProRole(opProRoleId);
         if (opProRole.IsNew)
         {
             throw new AppException("该数据已经不存在了");
         }
         SaveToDb(this, opProRole, false);
     }
 }
Пример #9
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>是否成功</returns>
        public override void Delete()
        {
            if (!m_Loaded)
            {
                throw new AppException("尚未初始化");
            }
            bool result = (OpProRole.Delete(OpProRoleId) == 1);

            //更新缓存
            if (result && CachedEntityCommander.IsTypeRegistered(typeof(OpProRoleInfo)))
            {
                ResetCache();
            }
            if (!result)
            {
                throw new AppException("删除失败,数据可能被删除");
            }
        }
Пример #10
0
 private void LoadFromId(int opProRoleId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(OpProRoleInfo)))
     {
         OpProRoleInfo opProRoleInfo = Find(GetList(), opProRoleId);
         if (opProRoleInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(opProRoleInfo, this);
     }
     else
     {
         OpProRole opProRole = new OpProRole(opProRoleId);
         if (opProRole.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, opProRole);
     }
 }
Пример #11
0
 private void LoadFromId(int opProRoleId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(OpProRoleInfo)))
     {
         OpProRoleInfo opProRoleInfo=Find(GetList(), opProRoleId);
         if(opProRoleInfo==null)
             throw new AppException("未能在缓存中找到相应的键值对象");
         Copy(opProRoleInfo, this);
     }
     else
     {	OpProRole opProRole=new OpProRole( opProRoleId);
         if(opProRole.IsNew)
         throw new AppException("尚未初始化");
        	LoadFromDAL(this, opProRole);
     }
 }
Пример #12
0
 //数据持久化
 internal static void SaveToDb(OpProRoleInfo pOpProRoleInfo, OpProRole  pOpProRole,bool pIsNew)
 {
     pOpProRole.OpProRoleId = pOpProRoleInfo.opProRoleId;
      		pOpProRole.OperationId = pOpProRoleInfo.operationId;
      		pOpProRole.ProcessId = pOpProRoleInfo.processId;
      		pOpProRole.RoleId = pOpProRoleInfo.roleId;
     pOpProRole.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pOpProRole.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(OpProRoleInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pOpProRoleInfo.opProRoleId = pOpProRole.OpProRoleId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(OpProRoleInfo)))
     {
         ResetCache();
     }
 }
Пример #13
0
 //从后台获取数据
 internal static void LoadFromDAL(OpProRoleInfo pOpProRoleInfo, OpProRole  pOpProRole)
 {
     pOpProRoleInfo.opProRoleId = pOpProRole.OpProRoleId;
      		pOpProRoleInfo.operationId = pOpProRole.OperationId;
      		pOpProRoleInfo.processId = pOpProRole.ProcessId;
      		pOpProRoleInfo.roleId = pOpProRole.RoleId;
     pOpProRoleInfo.Loaded=true;
 }
Пример #14
0
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if(!m_Loaded)//新增
     {
         OpProRole opProRole=new OpProRole();
         SaveToDb(this, opProRole,true);
     }
     else//修改
     {
         OpProRole opProRole=new OpProRole(opProRoleId);
         if(opProRole.IsNew)
             throw new AppException("该数据已经不存在了");
         SaveToDb(this, opProRole,false);
     }
 }