public async Task <SpeedSummaryResult> PostExportSummarySpeedTbc([FromBody] SummarySpeedRequest request) { _log.LogDebug($"{nameof(PostExportSummarySpeedTbc)}: {JsonConvert.SerializeObject(request)}"); request.Validate(); return(await RequestExecutorContainerFactory.Build <SummarySpeedExecutor>(_logger, #if RAPTOR raptorClient, #endif configStore : configStore, trexCompactionDataProxy : tRexCompactionDataProxy, fileImportProxy : FileImportProxy, customHeaders : CustomHeaders, userId : GetUserId()) .ProcessAsync(request) as SpeedSummaryResult); }
public async Task <ActionResult <CompactionSpeedSummaryResult> > GetSpeedSummary( [FromQuery] Guid projectUid, [FromQuery] Guid?filterUid) { Log.LogInformation($"{nameof(GetSpeedSummary)}: " + Request.QueryString); var validationResult = await ValidateFilterAgainstProjectExtents(projectUid, filterUid); if (!validationResult.isValidFilterForProjectExtents) { return(Ok(new CompactionSpeedSummaryResult())); } var projectId = GetLegacyProjectId(projectUid); var projectSettings = GetProjectSettingsTargets(projectUid); var filter = validationResult.filterResult == null?GetCompactionFilter(projectUid, filterUid) : Task.FromResult(validationResult.filterResult); await Task.WhenAll(projectId, projectSettings, filter); var liftSettings = SettingsManager.CompactionLiftBuildSettings(projectSettings.Result); var request = new SummarySpeedRequest(projectId.Result, projectUid, null, liftSettings, filter.Result, -1); request.Validate(); try { var result = await RequestExecutorContainerFactory .Build <SummarySpeedExecutor>(LoggerFactory, configStore : ConfigStore, trexCompactionDataProxy : TRexCompactionDataProxy, customHeaders : CustomHeaders, userId : GetUserId(), fileImportProxy : FileImportProxy) .ProcessAsync(request) as SpeedSummaryResult; var speedSummaryResult = new CompactionSpeedSummaryResult(result, liftSettings.MachineSpeedTarget); Log.LogInformation($"{nameof(GetSpeedSummary)} result: " + JsonConvert.SerializeObject(speedSummaryResult)); await SetCacheControlPolicy(projectUid); return(Ok(speedSummaryResult)); } catch (ServiceException exception) { Log.LogError($"{nameof(GetSpeedSummary)}: {exception.GetResult.Message} ({exception.GetResult.Code})"); return(BadRequest(new ContractExecutionResult(exception.GetResult.Code, exception.GetResult.Message))); } finally { Log.LogInformation($"{nameof(GetSpeedSummary)} returned: " + Response.StatusCode); } }