示例#1
0
        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();
 }