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; }
/// <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; }