Characterization Data

FI Backlog with Ignore Tag
This commit is contained in:
2024-09-19 10:13:10 -07:00
parent b824c4ba36
commit 4c2bef71ec
31 changed files with 783 additions and 16 deletions

View File

@ -1,5 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models;
using OI.Metrology.Shared.Models.Stateless;
using System.Collections.Specialized;
using System.Text.Json;
using System.Web;
namespace OI.Metrology.Wafer.Counter.ApiControllers;
@ -33,4 +37,39 @@ public class FileShareController : Controller, IFileShareController<IResult>
return Results.Ok();
}
private static Dictionary<string, string?> GetKeyValuePairs(QueryString queryString)
{
Dictionary<string, string?> results = [];
if (queryString.HasValue)
{
NameValueCollection nameValueCollection = HttpUtility.ParseQueryString(queryString.Value);
foreach (string? key in nameValueCollection.AllKeys)
{
if (key is null)
continue;
results.Add(key, nameValueCollection[key]);
}
}
return results;
}
private static CharacterizationParameters? GetCharacterizationParameters(QueryString queryString)
{
CharacterizationParameters? result;
Dictionary<string, string?> keyValuePairs = GetKeyValuePairs(queryString);
string json = JsonSerializer.Serialize(keyValuePairs);
result = string.IsNullOrEmpty(json) ? null : JsonSerializer.Deserialize(json, CharacterizationParametersSourceGenerationContext.Default.CharacterizationParameters);
return result;
}
[HttpGet("archive-data")]
public IActionResult ArchiveData()
{
List<CharacterizationInfo> results;
CharacterizationParameters? characterizationParameters = GetCharacterizationParameters(Request.QueryString);
ArgumentNullException.ThrowIfNull(characterizationParameters);
results = _FileShareRepository.GetArchiveData(characterizationParameters);
return Json(results);
}
}