Beispiel #1
0
        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);
        }