/// <summary> /// https://jira.autodesk.com/browse/INVGEN-45256 /// </summary> /// <param name="payload">project configuration with parameters</param> /// <returns>project storage</returns> public async Task <ProjectDTO> AdoptProjectWithParametersAsync(AdoptProjectWithParametersPayload payload) { if (!await DoesProjectAlreadyExistAsync(payload.Name)) { var bucket = await _userResolver.GetBucketAsync(); var signedUrl = await TransferProjectToOssAsync(bucket, payload); await _projectWork.AdoptAsync(payload, signedUrl); } else { _logger.LogInformation($"project with name {payload.Name} already exists"); } var updateDto = (await _projectWork.DoSmartUpdateAsync(payload.Config, payload.Name)).dto; // use update hash for projectDto generation var projectDto = _dtoGenerator.ToDTO(await _userResolver.GetProjectStorageAsync(payload.Name), updateDto.Hash); return(projectDto); }
public async void testJobWork() { var guid = Guid.NewGuid().ToString(); var wrenchSzValue = "\"Small\""; var jawOffsetValue = "8 mm"; var payload = new AdoptProjectWithParametersPayload { Url = "https://sdra-default-projects.s3-us-west-2.amazonaws.com/Wrench_2021.zip", Name = $"TestProject_{guid}", TopLevelAssembly = "Wrench.iam", Config = new Shared.InventorParameters { { "WrenchSz", new Shared.InventorParameter { Value = wrenchSzValue } }, { "JawOffset", new Shared.InventorParameter { Value = jawOffsetValue } }, { "PartMaterial", new Shared.InventorParameter { Value = "\"Steel\"" } }, { "iTrigger0", new Shared.InventorParameter { Value = "2 ul" } } } }; // adopt with new values var project = await _projectService.AdoptProjectWithParametersAsync(payload); // read cached values var state = await _projectService.getProjectParameters(project.Id, project.Hash); // compare with required values Assert.Equal(state.Parameters["WrenchSz"].Value, wrenchSzValue); Assert.Equal(state.Parameters["JawOffset"].Value, jawOffsetValue); _output.WriteLine($"done, adapted project {project.Id}, hash:{project.Hash}"); }
public async void AdoptProjectWithParametersAsync(AdoptProjectWithParametersPayload payload) { var projectWithParameters = await _projectService.AdoptProjectWithParametersAsync(payload); _output.WriteLine($"adopted project with parameters, project label: {projectWithParameters.Label}"); }