public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.LSAutoVIN12_I_DB, _request); if (!spec.IsSatisfied || response.Exists<IProvideDataFromVin12>()) //don't execute again if we already have a vin 12 response cause vin12 can be a fallback for multiple DP { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.LSAutoVIN12_I_DB); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.LSAutoVIN12_I_DB, _dataProvider, _dataProvider.BillablleState.NoRecordState); _logCommand.LogBegin(new {_dataProvider}); var consumer = new ConsumeSource(new HandleVin12SourceCall(), new CallVin12DataProvider(_dataProvider, new DataProviderRepository(), _logCommand)); consumer.ConsumeDataProvider(response); _logCommand.LogEnd(new {response}); if (!response.HasRecords<IProvideDataFromVin12>()) CallFallbackSource(response, _command); } CallNextSource(response, _command); }
public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.LSPropertySearch_E_WS, _request); if (!spec.IsSatisfied) { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.LSPropertySearch_E_WS); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.LSPropertySearch_E_WS, _dataProvider, _dataProvider.BillablleState.NoRecordState); _logCommand.LogBegin(new {_dataProvider}); var consumer = new ConsumeSource(new HandleLightstonePropertyCall(), new CallLightstonePropertyDataProvider(_dataProvider, _logCommand)); consumer.ConsumeDataProvider(response); _logCommand.LogEnd(new {response}); if (!response.HasRecords<IProvideDataFromLightstoneProperty>()) CallFallbackSource(response, _command); } CallNextSource(response, _command); }
public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.LSAutoVINMaster_I_DB, _request); if (!spec.IsSatisfied) { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.LSAutoVINMaster_I_DB); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.LSAutoVINMaster_I_DB, _dataProvider, _dataProvider.BillablleState.NoRecordState); _logCommand.LogBegin(new {_dataProvider}); var consumer = new ConsumeSource(new HandleRgtVinDataProviderCall(), new CallRgtVinDataProvider(_dataProvider, new DataProviderRepository(), _logCommand)); consumer.ConsumeDataProvider(response); _logCommand.LogEnd(new {response}); if (!response.HasRecords<IProvideDataFromRgtVin>()) CallFallbackSource(response, _command); } CallNextSource(response, _command); }