7 changed files
Client/HomagGroup.DigitalFactory.ApiGateway.Client | ||
Interfaces | ||
IOptimizationServices.cs | ||
Optimization | ||
ImportTemplateType.cs + | ||
Services | ||
OptimizationServices.cs | ||
Documentation | ||
README.md | ||
Samples/csharp/HomagGroup.ApiGateway.Client.Samples | ||
IDImportViaTemplateAsyncTest.cs | ||
IDSendToPAAsyncTest.cs | ||
HISTORY.md | ||
IOptimizationServices.cs
/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Interfaces/IOptimizationServices.cs+9/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Interfaces/IOptimizationServices.cs
Add comment 1 Plus using System;
Add comment 1 2 using System.IO;
Add comment 2 3 using System.Threading.Tasks;
Add comment 3 4 using HomagGroup.DigitalFactory.ApiGateway.Client.Optimization;
Add comment 39 40 /// Get a list of templates.
Add comment 40 41 /// </summary>
Add comment 41 42 /// <returns></returns>
Add comment 43 Plus [Obsolete("This method is deprecated and will be removed in the future")]
Add comment 42 44 Task<OptimizationImportTemplates> IDGetTemplatesAsync();
Add comment 43 45
Add comment 44 46 /// <summary>
Add comment 47 Plus /// Get a list of templates.
Add comment 48 Plus /// </summary>
Add comment 49 Plus /// <param name="templateType">The type of template that should be returned. See <see cref="ImportTemplateType"/></param>
Add comment 50 Plus /// <returns></returns>
Add comment 51 Plus Task<OptimizationImportTemplates> IDGetTemplatesAsync(ImportTemplateType templateType);
Add comment 52 Plus
Add comment 53 Plus /// <summary>
Add comment 45 54 /// Import files using templates.
Add comment 46 55 /// </summary>
Add comment 47 56 /// <param name="importInfo"></param>
ImportTemplateType.cs
/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Optimization/ImportTemplateType.cs+19/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Optimization/ImportTemplateType.cs
Add comment 1 Plus namespace HomagGroup.DigitalFactory.ApiGateway.Client.Optimization
Add comment 2 Plus {
Add comment 3 Plus /// <summary>
Add comment 4 Plus /// Possible template types used for import
Add comment 5 Plus /// </summary>
Add comment 6 Plus public enum ImportTemplateType
Add comment 7 Plus {
Add comment 8 Plus /// <summary>
Add comment 9 Plus /// Cutting (Saw) type
Add comment 10 Plus /// </summary>
Add comment 11 Plus Cutting,
Add comment 12 Plus
Add comment 13 Plus /// <summary>
Add comment 14 Plus /// Nesting type
Add comment 15 Plus /// </summary>
Add comment 16 Plus Nesting
Add comment 17 Plus }
Add comment 18 Plus }
Add comment 19 Plus
OptimizationServices.cs
/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Services/OptimizationServices.cs-1+16/Client/HomagGroup.DigitalFactory.ApiGateway.Client/Services/OptimizationServices.cs
Add comment 96 public async Task<OptimizationImportTemplates> IDGetTemplatesAsync()
Add comment 97 {
Add comment 98 var request = new HttpRequestMessage { Method = HttpMethod.Get };
Add comment 99 Minus var uri = $"{Prefix}optimizations/templates";
Add comment 99 Plus var uri = $"{Prefix}optimizations/templates/cutting";
Add comment 100 Plus request.RequestUri = new Uri(uri, UriKind.Relative);
Add comment 101 Plus request.Headers.AcceptLanguage.Clear();
Add comment 102 Plus request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(CultureInfo.CurrentUICulture.Name));
Add comment 103 Plus var response = await Client.SendAsync(request).ConfigureAwait(false);
Add comment 104 Plus response.HandleDeprecatedMessages(request, ApiVersion, ThrowExceptionOnDeprecatedCalls, OnDeprecatedAction);
Add comment 105 Plus response.EnsureSuccessStatusCodeWithDetails(request);
Add comment 106 Plus var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
Add comment 107 Plus return JsonConvert.DeserializeObject<OptimizationImportTemplates>(content, SerializerSettings.Default);
Add comment 108 Plus }
Add comment 109 Plus
Add comment 110 Plus /// <inheritdoc />
Add comment 111 Plus public async Task<OptimizationImportTemplates> IDGetTemplatesAsync(ImportTemplateType templateType)
Add comment 112 Plus {
Add comment 113 Plus var request = new HttpRequestMessage { Method = HttpMethod.Get };
Add comment 114 Plus var uri = $"{Prefix}optimizations/templates/{templateType.ToString().ToLower()}";
Add comment 100 115 request.RequestUri = new Uri(uri, UriKind.Relative);
Add comment 101 116 request.Headers.AcceptLanguage.Clear();
Add comment 102 117 request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(CultureInfo.CurrentUICulture.Name));
Add comment 23 1.13 |02.09.2022| Updated IDImportViaTemplate
Add comment 24 1.14 |12.10.2022| Added IDSendToPA
Add comment 25 1.15 |17.10.2022| Update IDGetOptimizationState
Add comment 26 Plus 1.16 |11.11.2022| Update IDGetTemplates
Add comment 26 27
Add comment 27 28 ## Introduction
Add comment 28 29
Add comment 222 223 IDGetImportState | GET | `_PREFIX_/optimizations/`⤶<br/>`import/states/{correlationId}` | Return state of the imported order | CuttingOptimizationImport / NestingOptimizationImport
Add comment 223 224 IDGetMachines | GET | `_PREFIX_/optimizations/`⤶<br/>`machines` | Returns the list of available machines | CuttingOptimizationImport / NestingOptimizationImport
Add comment 224 225 IDGetParameters | GET | `_PREFIX_/optimizations/`⤶<br/>`parameters` | Returns the list of available parameters | CuttingOptimizationImport / NestingOptimizationImport
Add comment 225 Minus IDGetTemplates | GET | `_PREFIX_/optimizations/`⤶<br/>`templates` | Returns the list of available templates | CuttingOptimizationImport / NestingOptimizationImport
Add comment 226 Plus [Deprecated]<br/>IDGetTemplates| GET | `_PREFIX_/optimizations/`⤶<br/>`templates` | Returns the list of available templates | CuttingOptimizationImport / NestingOptimizationImport
Add comment 227 Plus IDGetTemplates | GET | `_PREFIX_/optimizations/`⤶<br/>`templates/{templateType}` | Returns the list of available templates | CuttingOptimizationImport / NestingOptimizationImport<br/>Allowed values are: "cutting" or "nesting".
Add comment 226 228 IDStartOptimization | POST | `_PREFIX_/optimizations/`⤶<br/>`jobs/{jobId}/start` | Starts an optimization | OptExecCut / NestingOptimization
Add comment 227 229 IDGetOptimizationState | GET | `_PREFIX_/optimizations/`⤶<br/>`jobs/{jobId}/state` | Returns the optimization status (progress state) and if it is finished|OptExecCut / NestingOptimization / CuttingOptimizationImport
Add comment 228 230 IDGetOptimizationSolutions | GET | `_PREFIX_/optimizations/`⤶<br/>`jobs/{jobId}/solutions` | Returns the optimization solutions | OptExecCut / NestingOptimization
Add comment 510 512 Request
Add comment 511 513
Add comment 512 514 ```text
Add comment 513 Minus GET /api/gw/optimizations/templates
Add comment 515 Plus GET /api/gw/optimizations/templates/cutting
Add comment 514 516 api-version: 2021-08-10
Add comment 515 517 Accept-Language: en-US
Add comment 516 518 Authorization: Basic NjU1MDFEMDktMkJCOS00M0MyLUI5RDMtMUZCMDAwNkE3NjlFOnNkMDlzaGR1Z985OGffc2ZkZ3pz32Y5ZGhzYWZkaHNmZN92ODlwYmZkOXZiaGFmZGd2
IDImportViaTemplateAsyncTest.cs
/Samples/csharp/HomagGroup.ApiGateway.Client.Samples/IDImportViaTemplateAsyncTest.cs-1+2/Samples/csharp/HomagGroup.ApiGateway.Client.Samples/IDImportViaTemplateAsyncTest.cs
Add comment 3 using System.Net.Http;
Add comment 4 using System.Threading.Tasks;
Add comment 5 using HomagGroup.DigitalFactory.ApiGateway.Client;
Add comment 6 Plus using HomagGroup.DigitalFactory.ApiGateway.Client.Optimization;
Add comment 6 7 using HomagGroup.DigitalFactory.ApiGateway.Client.Services;
Add comment 7 8 using Microsoft.VisualStudio.TestTools.UnitTesting;
Add comment 8 9
Add comment 37 38 return;
Add comment 38 39 }
Add comment 39 40
Add comment 40 Minus var templatesResult = await optimizationService.IDGetTemplatesAsync().ConfigureAwait(false);
Add comment 41 Plus var templatesResult = await optimizationService.IDGetTemplatesAsync(ImportTemplateType.Cutting).ConfigureAwait(false);
Add comment 41 42 var template = GetImportData(templatesResult.Templates, "CSV template");
Add comment 42 43 if (template == null)
Add comment 43 44 {
IDSendToPAAsyncTest.cs
/Samples/csharp/HomagGroup.ApiGateway.Client.Samples/IDSendToPAAsyncTest.cs-1+2/Samples/csharp/HomagGroup.ApiGateway.Client.Samples/IDSendToPAAsyncTest.cs
Add comment 8 using System.Text;
Add comment 9 using System.Threading.Tasks;
Add comment 10 using HomagGroup.DigitalFactory.ApiGateway.Client;
Add comment 11 Plus using HomagGroup.DigitalFactory.ApiGateway.Client.Optimization;
Add comment 11 12 using HomagGroup.DigitalFactory.ApiGateway.Client.Services;
Add comment 12 13 using Microsoft.VisualStudio.TestTools.UnitTesting;
Add comment 13 14
Add comment 28 29 var optimizationService = new OptimizationServices(client);
Add comment 29 30 var importFileInfo = new ImportFileInfo();
Add comment 30 31
Add comment 31 Minus var templatesResult = await optimizationService.IDGetTemplatesAsync().ConfigureAwait(false);
Add comment 32 Plus var templatesResult = await optimizationService.IDGetTemplatesAsync(ImportTemplateType.Cutting).ConfigureAwait(false);
Add comment 32 33 var template = GetImportData(templatesResult.Templates, "CSV template");
Add comment 33 34 if (template == null)
Add comment 34 35 {