private void GetKits(
                IList <long> masterIds,
                IList <long> kitMasterIds,
                IList <long> productIdsForKitComponentLookup,
                out ReadOnlyCollection <KitDefinition> kitDefinitions,
                out ReadOnlyCollection <KitComponent> kitComponentAndSubstituteList,
                out ReadOnlyCollection <KitConfigToComponentAssociation> kitConfigToComponentAssociations,
                out ReadOnlyCollection <KitComponent> parentKitsComponentInfo)
            {
                // kits
                var getKitsRequest  = new GetProductKitDataRequest(kitMasterIds);
                var getKitsResponse = this.request.RequestContext.Execute <GetProductKitDataResponse>(getKitsRequest);

                // handle kit response
                kitDefinitions = getKitsResponse.KitDefinitions;
                kitComponentAndSubstituteList    = getKitsResponse.KitComponentAndSubstituteList;
                kitConfigToComponentAssociations = getKitsResponse.KitConfigToComponentAssociations;

                // depending on data level, we need to retrieve more information
                if (this.request.Criteria.DataLevel >= CommerceEntityDataLevel.Complete)
                {
                    var getKitParentRequest = new GetParentKitDataRequest(productIdsForKitComponentLookup, masterIds);
                    getKitParentRequest.QueryResultSettings = QueryResultSettings.AllRecords;
                    var kitParentResponse = this.request.RequestContext.Execute <GetParentKitDataResponse>(getKitParentRequest);
                    parentKitsComponentInfo = kitParentResponse.KitComponents.Results;
                }
                else
                {
                    parentKitsComponentInfo = new ReadOnlyCollection <KitComponent>(new List <KitComponent>());
                }
            }
            private static GetProductKitDataResponse GetProductKit(GetProductKitDataRequest request)
            {
                GetKitDefinitionProcedure          getKitDefinitionProcedure = new GetKitDefinitionProcedure(request);
                ReadOnlyCollection <KitDefinition> kitDefinitions            = getKitDefinitionProcedure.Execute();

                GetKitComponentAndSubstituteProcedure getKitComponentAndSubstituteProcedure = new GetKitComponentAndSubstituteProcedure(request);
                ReadOnlyCollection <KitComponent>     componentAndSubstituteList            = getKitComponentAndSubstituteProcedure.Execute();

                GetKitVariantMapProcedure getKitVariantMapProcedure = new GetKitVariantMapProcedure(request);
                ReadOnlyCollection <KitConfigToComponentAssociation> configToComponentAssociations = getKitVariantMapProcedure.Execute();

                return(new GetProductKitDataResponse(kitDefinitions, componentAndSubstituteList, configToComponentAssociations));
            }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetKitDefinitionProcedure"/> class.
 /// </summary>
 /// <param name="request">The request message.</param>
 public GetKitDefinitionProcedure(GetProductKitDataRequest request)
 {
     this.request = request;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetKitVariantMapProcedure"/> class.
 /// </summary>
 /// <param name="request">The request message.</param>
 public GetKitVariantMapProcedure(GetProductKitDataRequest request)
 {
     this.request = request;
 }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetKitComponentAndSubstituteProcedure"/> class.
 /// </summary>
 /// <param name="request">The request message.</param>
 public GetKitComponentAndSubstituteProcedure(GetProductKitDataRequest request)
 {
     this.request = request;
 }