|
@@ -43,30 +43,38 @@ public class DataPermissionFilterBuilder : IDataPermissionFilterBuilder, IScopeD
|
|
|
{
|
|
|
var userId = _sessionContext.RequiredUserId;
|
|
|
var orgCode = _sessionContext.RequiredOrgCode;
|
|
|
- var queryFilterType = DataPermissionManager.GetQueryFilter<TEntity>(_sessionContext);
|
|
|
|
|
|
- switch (queryFilterType)
|
|
|
- {
|
|
|
- case EAuthorityType.Create:
|
|
|
- return d => d.CreatorId == userId
|
|
|
- || d.AssignUserIds.Contains(userId)
|
|
|
- || d.AssignOrgCodes.Contains(orgCode);
|
|
|
- case EAuthorityType.Org:
|
|
|
- return d => d.CreatorOrgCode == orgCode
|
|
|
- || d.AssignUserIds.Contains(userId)
|
|
|
- || d.AssignOrgCodes.Contains(orgCode)
|
|
|
- ;
|
|
|
- case EAuthorityType.OrgAndBelow:
|
|
|
- return d => d.CreatorOrgCode.StartsWith(orgCode)
|
|
|
- || d.AssignUserIds.Contains(userId)
|
|
|
- || d.AssignOrgCodes.Contains(orgCode);
|
|
|
- case EAuthorityType.All:
|
|
|
- return d => true;
|
|
|
- default:
|
|
|
- return d => d.AssignUserIds.Contains(userId) || d.AssignOrgCodes.Contains(orgCode);
|
|
|
- }
|
|
|
+ return d => d.AssignUserIds.Contains(userId) || d.AssignOrgCodes.Contains(orgCode);
|
|
|
}
|
|
|
|
|
|
+ //public Expression<Func<TEntity, bool>> BuildIncludeFlowData<TEntity>() where TEntity : class, IEntity<string>, IDataPermission, IWorkflow, new()
|
|
|
+ //{
|
|
|
+ // var userId = _sessionContext.RequiredUserId;
|
|
|
+ // var orgCode = _sessionContext.RequiredOrgCode;
|
|
|
+ // var queryFilterType = DataPermissionManager.GetQueryFilter<TEntity>(_sessionContext);
|
|
|
+
|
|
|
+ // switch (queryFilterType)
|
|
|
+ // {
|
|
|
+ // case EAuthorityType.Create:
|
|
|
+ // return d => d.CreatorId == userId
|
|
|
+ // || d.AssignUserIds.Contains(userId)
|
|
|
+ // || d.AssignOrgCodes.Contains(orgCode);
|
|
|
+ // case EAuthorityType.Org:
|
|
|
+ // return d => d.CreatorOrgCode == orgCode
|
|
|
+ // || d.AssignUserIds.Contains(userId)
|
|
|
+ // || d.AssignOrgCodes.Contains(orgCode)
|
|
|
+ // ;
|
|
|
+ // case EAuthorityType.OrgAndBelow:
|
|
|
+ // return d => d.CreatorOrgCode.StartsWith(orgCode)
|
|
|
+ // || d.AssignUserIds.Contains(userId)
|
|
|
+ // || d.AssignOrgCodes.Contains(orgCode);
|
|
|
+ // case EAuthorityType.All:
|
|
|
+ // return d => true;
|
|
|
+ // default:
|
|
|
+ // return d => d.AssignUserIds.Contains(userId) || d.AssignOrgCodes.Contains(orgCode);
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
//private static bool FlowDataFiltering<TEntity>(TEntity entity, string userId, string orgCode, string[] roles) where TEntity : class, IEntity<string>, IDataPermission, IWorkflow, new()
|
|
|
//{
|
|
|
// if (entity.AssignUserIds.Contains(userId)) return true;
|