示例#1
0
        public Task <ContractExecutionResult> PostTemperatureDetails([FromBody] TemperatureDetailRequest temperatureDetailRequest)
        {
            Log.LogInformation($"{nameof(PostTemperatureDetails)}: {Request.QueryString}");

            temperatureDetailRequest.Validate();
            ValidateFilterMachines(nameof(PostTemperatureDetails), temperatureDetailRequest.ProjectUid, temperatureDetailRequest.Filter);

            return(WithServiceExceptionTryExecuteAsync(() =>
                                                       RequestExecutorContainer
                                                       .Build <DetailedTemperatureExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler)
                                                       .ProcessAsync(temperatureDetailRequest)));
        }
示例#2
0
        protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item)
        {
            var request = CastRequestObjectTo <TemperatureDetailsRequest>(item);

            var temperatureTargets = request.Targets.Select(t => (int)t).ToArray(); // already converted to 10ths

#if RAPTOR
            if (UseTRexGateway("ENABLE_TREX_GATEWAY_TEMPERATURE"))
            {
#endif
            var temperatureDetailsRequest = new TemperatureDetailRequest(
                request.ProjectUid.Value,
                request.Filter,
                temperatureTargets,
                AutoMapperUtility.Automapper.Map <OverridingTargets>(request.LiftBuildSettings),
                AutoMapperUtility.Automapper.Map <LiftSettings>(request.LiftBuildSettings));

            var temperatureDetailsResult = await trexCompactionDataProxy.SendDataPostRequest <TemperatureDetailResult, TemperatureDetailRequest>(temperatureDetailsRequest, "/temperature/details", customHeaders);

            return(new CompactionTemperatureDetailResult(temperatureDetailsResult));

#if RAPTOR
        }

        var filter            = RaptorConverters.ConvertFilter(request.Filter, request.ProjectId, raptorClient);
        var liftBuildSettings =
            RaptorConverters.ConvertLift(request.LiftBuildSettings, TFilterLayerMethod.flmNone);

        var raptorResult = raptorClient.GetTemperatureDetails(request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID,
                                                              ASNodeRPC.__Global.Construct_TASNodeRequestDescriptor(Guid.NewGuid(), 0, TASNodeCancellationDescriptorType.cdtTemperatureDetailed),
                                                              new TTemperatureDetailSettings
        {
            TemperatureList = temperatureTargets,
        }
                                                              ,
                                                              filter,
                                                              liftBuildSettings,
                                                              out var temperatureDetails);

        if (raptorResult == TASNodeErrorStatus.asneOK)
        {
            return(new CompactionTemperatureDetailResult(temperatureDetails.Percents));
        }

        throw CreateServiceException <DetailedTemperatureExecutor>((int)raptorResult);
#endif
        }