Пример #1
0
        public Task <ContractExecutionResult> PostCcaSummary([FromBody] CCASummaryRequest ccaSummaryRequest)
        {
            Log.LogInformation($"{nameof(PostCcaSummary)}: {Request.QueryString}");

            ccaSummaryRequest.Validate();
            ValidateFilterMachines(nameof(PostCcaSummary), ccaSummaryRequest.ProjectUid, ccaSummaryRequest.Filter);

            return(WithServiceExceptionTryExecuteAsync(() =>
                                                       RequestExecutorContainer
                                                       .Build <SummaryCCAExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler)
                                                       .ProcessAsync(ccaSummaryRequest)));
        }
Пример #2
0
        /// <summary>
        /// Processes the summary CCA 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 <CCARequest>(item);
#if RAPTOR
                if (configStore.GetValueBool("ENABLE_TREX_GATEWAY_CCA") ?? false)
                {
#endif
                await PairUpAssetIdentifiers(request.ProjectUid.Value, request.Filter);
                await PairUpImportedFileIdentifiers(request.ProjectUid.Value, filter1 : request.Filter);

                var ccaSummaryRequest = new CCASummaryRequest(
                    request.ProjectUid.Value,
                    request.Filter,
                    AutoMapperUtility.Automapper.Map <OverridingTargets>(request.LiftBuildSettings),
                    AutoMapperUtility.Automapper.Map <LiftSettings>(request.LiftBuildSettings));

                return(await trexCompactionDataProxy.SendDataPostRequest <CCASummaryResult, CCASummaryRequest>(ccaSummaryRequest, "/cca/summary", customHeaders));

#if RAPTOR
            }

            var raptorFilter = RaptorConverters.ConvertFilter(request.Filter, request.ProjectId, raptorClient);

            bool success = raptorClient.GetCCASummary(request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID,
                                                      ASNodeRPC.__Global.Construct_TASNodeRequestDescriptor(request.CallId ?? Guid.NewGuid(), 0, TASNodeCancellationDescriptorType.cdtCCASummary),
                                                      raptorFilter,
                                                      RaptorConverters.ConvertLift(request.LiftBuildSettings, raptorFilter.LayerMethod),
                                                      out var ccaSummary);

            if (success)
            {
                return(ConvertResult(ccaSummary));
            }

            throw CreateServiceException <SummaryCCAExecutor>(ccaSummary.ReturnCode);
#endif
            }

            finally
            {
                ContractExecutionStates.ClearDynamic();
            }
        }