public virtual SourceValuesCollection GetBasisOrganizationIDsValues(PXGraph graph, PXCache attributeCache, object extRow) { SourceValuesCollection sourceValues = GetEvaluatedOrganizationIDsValues(graph, attributeCache, extRow); var availableOrganizationIDs = PXAccess.GetAvailableOrganizationIDs(); if ((sourceValues.OrganizationIDs == null || sourceValues.OrganizationIDs.All(id => id == null) || !sourceValues.OrganizationIDs.Any()) && GetCalendarOrganizationID(graph, attributeCache, extRow) == FinPeriod.organizationID.MasterValue) { sourceValues.OrganizationIDs = availableOrganizationIDs.ToList(); } else { sourceValues.OrganizationIDs = sourceValues.OrganizationIDs.Intersect(availableOrganizationIDs).ToList(); } return(sourceValues); }
public virtual TKeyWithSourceValuesCollection GetKeysWithBasisOrganizationIDs(PXGraph graph, PXCache attributeCache, object extRow) { TKeyWithSourceValuesCollection keyWithSourceValues = GetKeys(graph, attributeCache, extRow); var availableOrganizationIDs = PXAccess.GetAvailableOrganizationIDs(); if ((keyWithSourceValues.ConsolidatedOrganizationIDs == null || keyWithSourceValues.ConsolidatedOrganizationIDs.All(id => id == null) || !keyWithSourceValues.ConsolidatedOrganizationIDs.Any()) && GetKey(graph, attributeCache, extRow).OrganizationID == MasterValue) { keyWithSourceValues.ConsolidatedOrganizationIDs = availableOrganizationIDs.ToList(); } else { keyWithSourceValues.ConsolidatedOrganizationIDs = keyWithSourceValues.ConsolidatedOrganizationIDs.Intersect(availableOrganizationIDs).ToList(); } return(keyWithSourceValues); }