private ICollection<IPointToLaceProvider> Execute(ICollection<IPointToLaceRequest> request, ChainType chain) { try { Init(request.First().Request.RequestId); _logCommand.LogBegin(request); _dataProviderChain = new CreateSourceChain(); _logCommand.LogEntryPointRequest(request, DataProviderNoRecordState.Billable); _bootstrap = new Initialize(new Collection<IPointToLaceProvider>(), request, _bus, _dataProviderChain); _bootstrap.Execute(chain); LogResponse(request); CreateTransaction(request, _bootstrap.DataProviderResponses.State()); _logCommand.LogEnd(_bootstrap.DataProviderResponses ?? EmptyResponse); return _bootstrap.DataProviderResponses ?? EmptyResponse; } catch (Exception ex) { _logCommand.LogFault(ex.Message, request); _logCommand.LogEnd(request); Log.ErrorFormat("Error occurred receiving request {0}", ex, request.ObjectToJson()); LogResponse(request); CreateTransaction(request, DataProviderResponseState.TechnicalError); return EmptyResponse; } }
public void EntryPointRequest(ICollection<IPointToLaceRequest> request, DataProviderStopWatch stopWatch, DataProviderNoRecordState billNoRecords) { new ReceiveEntryPointRequest(Guid.NewGuid(), _requestId, DateTime.UtcNow, SearchRequestIndentifier.Determine(request), new PayloadIdentifier(new PerformanceMetadata(stopWatch.ToObject()).ObjectToJson(), request.ObjectToJson(), CommandDescriptions.ReceiveEntryPointRequestDescription()),new NoRecordBillableIdentifier((int)billNoRecords,billNoRecords.ToString())) .SendToBus(_publisher, _log); stopWatch.Start(); }