public Task <ContractExecutionResult> PostPassCountDetails([FromBody] PassCountDetailsRequest passCountDetailsRequest) { Log.LogInformation($"{nameof(PostPassCountDetails)}: {Request.QueryString}"); passCountDetailsRequest.Validate(); ValidateFilterMachines(nameof(PostPassCountDetails), passCountDetailsRequest.ProjectUid, passCountDetailsRequest.Filter); return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <DetailedPassCountExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(passCountDetailsRequest))); }
/// <summary> /// Processes the detailed pass counts request by passing the request to Raptor and returning the result. /// </summary> protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item) { try { var request = CastRequestObjectTo <PassCounts>(item); #if RAPTOR if (UseTRexGateway("ENABLE_TREX_GATEWAY_PASSCOUNT")) { #endif await PairUpAssetIdentifiers(request.ProjectUid.Value, request.Filter); await PairUpImportedFileIdentifiers(request.ProjectUid.Value, filter1 : request.Filter); var pcDetailsRequest = new PassCountDetailsRequest( request.ProjectUid.Value, request.Filter, request.passCountSettings.passCounts, AutoMapperUtility.Automapper.Map <OverridingTargets>(request.liftBuildSettings), AutoMapperUtility.Automapper.Map <LiftSettings>(request.liftBuildSettings)); log.LogDebug($"{nameof(DetailedPassCountExecutor)} trexRequest {JsonConvert.SerializeObject(pcDetailsRequest)}"); return(await trexCompactionDataProxy.SendDataPostRequest <PassCountDetailedResult, PassCountDetailsRequest>(pcDetailsRequest, "/passcounts/details", customHeaders)); #if RAPTOR } var raptorFilter = RaptorConverters.ConvertFilter(request.Filter, request.ProjectId, raptorClient, request.OverrideStartUTC, request.OverrideEndUTC, request.OverrideAssetIds); var raptorResult = raptorClient.GetPassCountDetails(request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID, ASNodeRPC.__Global.Construct_TASNodeRequestDescriptor((request.CallId ?? Guid.NewGuid()), 0, TASNodeCancellationDescriptorType.cdtPassCountDetailed), request.passCountSettings != null ? ConvertSettings(request.passCountSettings) : new TPassCountSettings(), raptorFilter, RaptorConverters.ConvertLift(request.liftBuildSettings, raptorFilter.LayerMethod), out var passCountDetails); if (raptorResult == TASNodeErrorStatus.asneOK) { return(ConvertResult(passCountDetails, request.liftBuildSettings)); } throw CreateServiceException <DetailedPassCountExecutor>((int)raptorResult); #endif } finally { ContractExecutionStates.ClearDynamic(); } }