예제 #1
0
        public virtual FAKeyWithSourceValues GetBookIDsValueFromField(
            PXGraph graph,
            PXCache attributeCache,
            object extRow,
            FASourceSpecificationItem sourceSpecification)
        {
            if (typeof(IBqlField).IsAssignableFrom(sourceSpecification.BookSourceType))
            {
                return(GetIDsValueFromField(graph, attributeCache, extRow, sourceSpecification,
                                            sourceSpecification.BookSourceType, (item, value) => item.SourceBookIDs = value));
            }

            List <int?> bookIDs = new List <int?> {
                null
            };

            if (typeof(IBqlSearch).IsAssignableFrom(sourceSpecification.BookSourceType))
            {
                bookIDs = ((int?)((IBqlSearch)sourceSpecification.BookSourceType).SelectFirst(graph, extRow)).SingleToList();
            }

            return(new FAKeyWithSourceValues()
            {
                SpecificationItem = sourceSpecification,
                SourceBookIDs = bookIDs
            });
        }
예제 #2
0
 public virtual FAKeyWithSourceValues GetAssetIDsValueFromField(
     PXGraph graph,
     PXCache attributeCache,
     object extRow,
     FASourceSpecificationItem sourceSpecification)
 {
     return(GetIDsValueFromField(graph, attributeCache, extRow, sourceSpecification,
                                 sourceSpecification.AssetSourceType, (item, value) => item.SourceAssetIDs = value));
 }
예제 #3
0
        protected override FAKeyWithSourceValues CollectSourceValues(
            PXGraph graph, PXCache attributeCache, object extRow, FASourceSpecificationItem specificationItem)
        {
            if (specificationItem == null)
            {
                return(null);
            }

            FAKeyWithSourceValues valuesCollectionItem =
                base.CollectSourceValues(graph, attributeCache, extRow, specificationItem);

            valuesCollectionItem.SourceAssetIDs =
                GetAssetIDsValueFromField(graph, attributeCache, extRow, specificationItem).SourceAssetIDs;

            valuesCollectionItem.SourceBookIDs =
                GetBookIDsValueFromField(graph, attributeCache, extRow, specificationItem).SourceBookIDs;

            return(valuesCollectionItem);
        }