/// <summary> /// 是否当前流程实例活动的潜在代理者 /// </summary> /// <param name="wii"></param> /// <returns></returns> public bool IsEffectiveByProxyUser() { var wfps = this.GetContext().Store.GetProxyWorkflows(this.GetWorkflow().Guid); IUserComparer _uc = new IUserComparer(); if (wfps == null) { return(false); } return(wfps.Any((wfp) => { return wfp.BeginTime <= DateTime.Now && wfp.EndTime >= DateTime.Now && wfp.State == true && _uc.Equals(wfp.Owner, this.User) && _uc.Equals(wfp.ProxyUser, this.GetContext().CurUser); })); }
/// <summary> /// 当前用户是否可以访问该流程实例活动 /// </summary> /// <param name="wii"></param> /// <returns></returns> bool IsEffective(WorkitemInstance wii) { ///是否大管理员 if (this.Context.CurUser.IsAdministrator()) { return(true); } ///是否流程模型管理员 if (wii.GetWorkflowInstance().GetWorkflow().IsAdministrators(this.Context.CurUser)) { return(true); } ///是否当前流程实例活动的操作者 if (wii.GetWorkflowInstance().GetWorkflow().IsLegalAuthor(this.Context.CurUser)) { return(true); } ///是否当前流程实例活动的代理操作者 if (wii.IsProxy && _uc.Equals(wii.ProxyUser, this.Context.CurUser)) { return(true); } ///是否当前流程实例活动的潜在代理操作者 return(wii.IsEffectiveByProxyUser()); }
/// <summary> /// 是否当前流程实例活动的潜在代理者 /// </summary> /// <param name="wii"></param> /// <returns></returns> public bool IsEffectiveByProxyUser() { var wfps = this.GetContext().Store.GetProxyWorkflows(this.GetWorkflow().Guid); IUserComparer _uc = new IUserComparer(); if (wfps == null) { return false; } return wfps.Any((wfp) => { return wfp.BeginTime <= DateTime.Now && wfp.EndTime >= DateTime.Now && wfp.State == true && _uc.Equals(wfp.Owner, this.User) && _uc.Equals(wfp.ProxyUser, this.GetContext().CurUser); }); }