private bool ExtractSOARoleMatrixRows(SOARole innerRole, SOARolePropertyRowCollection extractedRows) { bool extracted = false; SOARoleContext.DoAction(innerRole, SOARoleContext.CurrentProcess, (context) => { SOARolePropertyRowCollection subRows = innerRole.Rows.Query(context.QueryParams); if (this.Role != null) { if (((SOARole)this.Role).MatrixType == WfMatrixType.ActivityMatrix && innerRole.MatrixType != WfMatrixType.ActivityMatrix) { subRows = MergeActivityRowPropertiesByRows(subRows); } foreach (SOARolePropertyRow subRow in subRows) { SOARolePropertyRowCollection subExtractedRows = subRow.ExtractMatrixRows(); extractedRows.CopyFrom(subExtractedRows); } } extracted = true; }); return(extracted); }
private bool ExtractUserMatrixRows(string operators, SOARolePropertyRowCollection extractedRows) { List <string> userIDs = GenerateObjectIDs(operators); extractedRows.CopyFrom(this.MergeActivityRowPropertiesByOperators(userIDs)); return(userIDs.Count > 0); }
private bool ExtractDynamicRoleMatrixRows(string roleName, SOARolePropertyRowCollection extractedRows) { OguDataCollection <IUser> users = new OguDataCollection <IUser>(); FillInternalDynamicRoleUsers(roleName, users); extractedRows.CopyFrom(this.MergeActivityRowPropertiesByUsers(users)); return(users.Count > 0); }