public virtual SourceValuesCollectionItem GetBranchIDsValueFromField( PXGraph graph, PXCache attributeCache, object extRow, SourceSpecificationItem calendarOrganizationIdSourceSpec) { bool? result = null; object branchID = null; if (calendarOrganizationIdSourceSpec.BranchSourceType != null || calendarOrganizationIdSourceSpec.BranchSourceFormula != null) { PXCache cache = GetSourceCache(graph, attributeCache, calendarOrganizationIdSourceSpec.BranchSourceType); object row = GetSourceRow(cache, extRow); if (calendarOrganizationIdSourceSpec.BranchSourceFormula != null) { BqlFormula.Verify(cache, row, calendarOrganizationIdSourceSpec.BranchSourceFormula, ref result, ref branchID); } else { branchID = BqlHelper.GetOperandValue(cache, row, calendarOrganizationIdSourceSpec.BranchSourceType); } } return(new SourceValuesCollectionItem() { SpecificationItem = calendarOrganizationIdSourceSpec, BranchIDs = ((int?)branchID).SingleToList() }); }
public CalendarOrganizationIDProvider(Type branchSourceType = null, Type branchSourceFormulaType = null, Type organizationSourceType = null, Type useMasterCalendarSourceType = null, bool useMasterOrganizationIDByDefault = false, Type[] sourceSpecificationTypes = null) { SourcesSpecification = new SourcesSpecificationCollection(); if (branchSourceType != null || branchSourceFormulaType != null || organizationSourceType != null) { SourceSpecificationItem sourceSpecification = new SourceSpecificationItem() { BranchSourceType = branchSourceType, BranchSourceFormulaType = branchSourceFormulaType, OrganizationSourceType = organizationSourceType, IsMain = true }; sourceSpecification.Initialize(); SourcesSpecification.SpecificationItems.Add(sourceSpecification); } if (sourceSpecificationTypes != null) { foreach (var sourceSpecificationType in sourceSpecificationTypes) { SourceSpecificationItem sourceSpec = (SourceSpecificationItem)Activator.CreateInstance(sourceSpecificationType); sourceSpec.Initialize(); SourcesSpecification.SpecificationItems.Add(sourceSpec); } } SourcesSpecification.PrimarySpecificationItem = SourcesSpecification.SpecificationItems.SingleOrDefault(s => s.IsMain); UseMasterCalendarSourceType = useMasterCalendarSourceType; UseMasterOrganizationIDByDefault = useMasterOrganizationIDByDefault; }
public virtual SourceValuesCollectionItem GetOrganizationIDsValueFromField( PXGraph graph, PXCache attributeCache, object extRow, SourceSpecificationItem sourceSpecification) { int?organizationID = null; if (sourceSpecification.OrganizationSourceType != null) { PXCache cache = GetSourceCache(graph, attributeCache, sourceSpecification.OrganizationSourceType); object row = GetSourceRow(cache, extRow); organizationID = (int?)BqlHelper.GetOperandValue(cache, row, sourceSpecification.OrganizationSourceType); } return(new SourceValuesCollectionItem() { SpecificationItem = sourceSpecification, OrganizationIDs = organizationID.SingleToList() }); }
protected virtual SourceValuesCollectionItem EvaluateOrganizationIDsValuesItem(PXGraph graph, PXCache attributeCache, object extRow, SourceSpecificationItem specificationItem) { if (specificationItem == null) { return(null); } return(EvaluateOrganizationIDsValuesItem(new SourceValuesCollectionItem() { OrganizationIDs = GetOrganizationIDsValueFromField(graph, attributeCache, extRow, specificationItem).OrganizationIDs, BranchIDs = GetBranchIDsValueFromField(graph, attributeCache, extRow, specificationItem).BranchIDs, SpecificationItem = specificationItem })); }