Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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}");
        }