public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.PCubedEZScore_E_WS, _request); if (!spec.IsSatisfied) { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.PCubedEZScore_E_WS); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.PCubedEZScore_E_WS, _dataProvider, _dataProvider.BillablleState.NoRecordState); _logCommand.LogBegin(new {_request}); var consumer = new ConsumeSource(new HandlePCubedEzScoreSourceCall(), new CallPCubedEzScoreDataProvider(_dataProvider, _logCommand)); consumer.ConsumeDataProvider(response); _logCommand.LogBegin(new {response}); if (!response.HasRecords<IProvideDataFromPCubedEzScore>()) CallFallbackSource(response, _command); } CallNextSource(response, _command); }
public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.Audatex, _request); if (!spec.IsSatisfied) { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.Audatex); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.Ivid, _dataProvider); _logCommand.LogBegin(new { _request, IvidResponse = response.OfType<IProvideDataFromIvid>().First() }); var consumer = new ConsumeSource(new HandleAudatexSourceCall(), new CallAudatexDataProvider(_dataProvider,_logCommand)); consumer.ConsumeDataProvider(response); _logCommand.LogEnd(new { response }); if (!response.OfType<IProvideDataFromAudatex>().Any() || response.OfType<IProvideDataFromAudatex>().First() == null) CallFallbackSource(response, _command); } CallNextSource(response, _command); }
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.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); }
public void CallSource(ICollection<IPointToLaceProvider> response) { var spec = new CanHandlePackageSpecification(DataProviderName.Anpr, _request); if (!spec.IsSatisfied) { NotHandledResponse(response); } else { _dataProvider = _request.First().Package.DataProviders.Single(w => w.Name == DataProviderName.Anpr); _logCommand = LogCommandTypes.ForDataProvider(_command, DataProviderCommandSource.Anpr, _dataProvider); _logCommand.LogBegin(new {_dataProvider}); //TODO: System.Data issue on the build server causes an error //var consumer = new ConsumeSource(new HandleAnprSourceCall(), // new CallAnprExternalSource(_request, // new RepositoryFactory(ConnectionFactory.ForLsCorporateAutoDatabase(), // CacheConnectionFactory.LocalClient(), ConfigurationManager.ConnectionStrings["lace/source/database/anpr/certificates/configuration"].ConnectionString))); //consumer.ConsumeExternalSource(response, laceEvent); _logCommand.LogEnd(new {response}); if (!response.OfType<IProvideDataFromAnpr>().Any() || response.OfType<IProvideDataFromAnpr>().First() == null) CallFallbackSource(response, _command); } }