public Task <ContractExecutionResult> RemoveDataEdit([FromBody] TRexEditData request) { Log.LogInformation($"{nameof(RemoveDataEdit)}: {JsonConvert.SerializeObject(request)}"); request.Validate(); return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <RemoveEditDataExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(request))); }
private void CheckValidDataEdit(TRexEditData actual, Guid assetUid, DateTime startDate, DateTime endDate, string designName, int?liftNumber) { Assert.Equal(assetUid, actual.AssetUid); Assert.Equal(startDate, actual.StartUtc); Assert.Equal(endDate, actual.EndUtc); Assert.Equal(designName, actual.MachineDesignName); Assert.Equal(liftNumber, actual.LiftNumber); }
protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item) { try { var request = CastRequestObjectTo <EditDataRequest>(item); //Note: request.dataEdit should only be null for a global undo. This is checked in request model validation //so the following should never happen. But just in case... if (request.dataEdit == null && !request.undo) { return(new ContractExecutionResult(ContractExecutionStatesEnum.InternalProcessingError, "No data edit to perform")); } #if RAPTOR if (UseTRexGateway("ENABLE_TREX_GATEWAY_EDIT_DATA")) { #endif var projectIds = new ProjectIDs(request.ProjectId.Value, request.ProjectUid.Value); projectIds.Validate(); var assetUid = await GetAssetUid(projectIds, request.dataEdit.assetId); var trexRequest = new TRexEditData(assetUid ?? Guid.Empty, request.dataEdit.startUTC, request.dataEdit.endUTC, request.dataEdit.onMachineDesignName, request.dataEdit.liftNumber); var trexResult = await trexCompactionDataProxy.SendDataDeleteRequest <ContractExecutionResult, TRexEditData>(trexRequest, "/productiondataedit", customHeaders, true); if (trexResult.Code != ContractExecutionStatesEnum.ExecutedSuccessfully) { throw new ServiceException(HttpStatusCode.BadRequest, trexResult); } return(trexResult); #if RAPTOR } return(ProcessWithRaptor(request)); #endif } finally { ContractExecutionStates.ClearDynamic(); } }