private ISpecification <TEntity> GetSpecification <TEntity>(EnumSYSTagOperate operates, int userID)
            where TEntity : Entity
        {
            switch (operates)
            {
            case EnumSYSTagOperate.Create:
                return(new CreateOperateSpecification <TEntity>(userID));

            case EnumSYSTagOperate.Update:
                return(new UpdateOperateSpecification <TEntity>(userID));

            case EnumSYSTagOperate.Read:
                return(new ReadOperateSpecification <TEntity>(userID));

            case EnumSYSTagOperate.Delete:
                return(new DeleteOperateSpecification <TEntity>(userID));

            case EnumSYSTagOperate.FullControl:
                return(new FullControlOperateSpecification <TEntity>(userID));

            case EnumSYSTagOperate.FontRead:
                return(new FontReadOperateSpecification <TEntity>(userID));
            }
            return(new ReadOperateSpecification <TEntity>(userID));
        }
 /// <summary>
 /// 得到指定用户可用权限
 /// </summary>
 /// <param name="tagOperate"></param>
 /// <returns></returns>
 internal DataTable GetAuthorityByCurrentUser(EnumSYSTagOperate tagOperate, long userID)
 {
     return(this.UnitOfWork.ToDataTable(DBBuilder.Define(SYSTagAuthoritySql.GetAuthorityByCurrentUserSql, new
     {
         CurrentUserID = userID,
         AcceptOperate = tagOperate,
         SystemID = systemID,
     })));
 }
 /// <summary>
 /// 得到当前用户可用权限
 /// </summary>
 /// <param name="tagOperate"></param>
 /// <returns></returns>
 internal DataTable GetAuthorityByCurrentUser(EnumSYSTagOperate tagOperate)
 {
     return(GetAuthorityByCurrentUser(tagOperate, CFContext.User.ID));
 }