public Task <ContractExecutionResult> UpdateDesign([FromBody] DesignRequest designRequest) { Log.LogInformation($"{nameof(UpdateDesign)}: {JsonConvert.SerializeObject(designRequest)}"); designRequest.Validate(); GatewayHelper.ValidateAndGetSiteModel(nameof(UpdateDesign), designRequest.ProjectUid, true); if (!DesignExists(designRequest.ProjectUid, designRequest.FileType, designRequest.DesignUid)) { return(Task.FromResult(new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError, "Design doesn't exist. Cannot update."))); } if (designRequest.FileType == ImportedFileType.DesignSurface || designRequest.FileType == ImportedFileType.SurveyedSurface) { return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <UpdateTTMDesignExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(designRequest))); } if (designRequest.FileType == ImportedFileType.Alignment) { return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <UpdateSVLDesignExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(designRequest))); } throw new ServiceException(HttpStatusCode.BadRequest, new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError, "File type must be DesignSurface, SurveyedSurface or Alignment")); }
public void DesignRequestValidation_Errors(string projectUid, ImportedFileType fileType, string fileName, string designUid, int expectedCode, string expectedMessage) { var designSurfaceRequest = new DesignRequest(Guid.Parse(projectUid), fileType, fileName, Guid.Parse(designUid), null); var ex = Assert.Throws <ServiceException>(() => designSurfaceRequest.Validate()); Assert.Equal(expectedCode, ex.GetResult.Code); Assert.Equal(expectedMessage, ex.GetResult.Message); }
public void DesignRequestValidation_HappyPath(string projectUid, ImportedFileType fileType, string fileName, string designUid, DateTime surveyedUtc) { var designSurfaceRequest = new DesignRequest(Guid.Parse(projectUid), fileType, fileName, Guid.Parse(designUid), surveyedUtc); designSurfaceRequest.Validate(); }