public static IWorkflowAuthorityHandler CreateHandler(string type) { IWorkflowAuthorityHandler handler = null; switch (type) { case "role": handler = new RoleWorkflowAuthorityHandler(); break; case "user": handler = new UserWorkflowAuthorityHandler(); break; case "creatorleader": handler = new CreatorLeaderWorkflowAuthorityHandler(); break; case "currentleader": handler = new CurrentLeaderWorkflowAuthorityHandler(); break; case "leaderinrole": handler = new LeaderInRoleWorkflowAuthorityHandler(); break; default: throw new Exception("流程权限类型设置错误,未能找到权限类型:" + type); } return(handler); }
public List <string> GetUserIDList(List <ActivityAuth> auth) { var mapper = Common.GetMapperFromSession(); List <string> result = new List <string>(); RoleDao roledao = new RoleDao(mapper); User_RoleDao urdao = new User_RoleDao(mapper); UserBLL userbll = new UserBLL(); foreach (var au in auth) { IWorkflowAuthorityHandler handler = WorkflowAuthorityFactory.CreateHandler(au.Type.ToLower()); result.AddRange(handler.Handle(au)); } return(result); }