private async Task <CompactionProfileResult <CompactionProfileCell> > ProcessProductionDataWithTRexGateway(CompactionProfileProductionDataRequest request) { if (request.IsAlignmentDesign) { throw new ServiceException(HttpStatusCode.BadRequest, new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError, "TRex unsupported request")); } var liftBuildSettings = request.LiftBuildSettings; var productionDataProfileDataRequest = new ProductionDataProfileDataRequest( request.ProjectUid ?? Guid.Empty, request.Filter, request.ReturnAllPassesAndLayers, request.CutFillDesignDescriptor?.FileUid, request.CutFillDesignDescriptor?.Offset, request.GridPoints != null, request.GridPoints?.x1 ?? (request.WGS84Points?.lon1 ?? 0.0), request.GridPoints?.y1 ?? (request.WGS84Points?.lat1 ?? 0.0), request.GridPoints?.x2 ?? (request.WGS84Points?.lon2 ?? 0.0), request.GridPoints?.y2 ?? (request.WGS84Points?.lat2 ?? 0.0), AutoMapperUtility.Automapper.Map <OverridingTargets>(liftBuildSettings), AutoMapperUtility.Automapper.Map <LiftSettings>(liftBuildSettings)); var trexResult = await trexCompactionDataProxy.SendDataPostRequest <ProfileDataResult <ProfileCellData>, ProductionDataProfileDataRequest>(productionDataProfileDataRequest, "/productiondata/profile", customHeaders); return(trexResult != null && trexResult.HasData() ? ConvertTRexProductioDataProfileResult(trexResult, request.LiftBuildSettings) : null); }
public Task <ContractExecutionResult> PostProductionDataProfile([FromBody] ProductionDataProfileDataRequest productionDataProfileRequest) { Log.LogInformation($"{nameof(PostProductionDataProfile)}: {JsonConvert.SerializeObject(productionDataProfileRequest)}"); productionDataProfileRequest.Validate(); ValidateFilterMachines(nameof(PostProductionDataProfile), productionDataProfileRequest.ProjectUid, productionDataProfileRequest.Filter); return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <ProductionDataProfileExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(productionDataProfileRequest))); }