oi-metrology/Server/ApiControllers/InfinityQSController.cs
2023-02-25 12:39:34 -07:00

52 lines
2.1 KiB
C#

using Microsoft.AspNetCore.Mvc;
namespace OI.Metrology.Server.ApiControllers;
using OI.Metrology.Shared.DataModels;
using OI.Metrology.Shared.Models.Stateless;
using System.Text.Json;
[Route("api/[controller]")]
public class InfinityQSController : Controller, IInfinityQSController<IActionResult>
{
private readonly IInfinityQSRepository _InfinityQSRepository;
public InfinityQSController(IInfinityQSRepository InfinityQSRepository) => _InfinityQSRepository = InfinityQSRepository;
[HttpGet("commandText")]
public IActionResult GetCommandText(string sub_group_id, string process, string job, string part, string lot, string date_time)
{
string commandText = _InfinityQSRepository.GetCommandText(sub_group_id, process, job, part, lot, date_time);
return Content(commandText, "text/plain; charset=utf-8");
}
[HttpGet("{sub_group_id}/data")]
public IActionResult GetData(string sub_group_id)
{
Result<InfinityQSBase[]> result = _InfinityQSRepository.GetData(sub_group_id);
return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
}
[HttpGet("{sub_group_id}/descriptors")]
public IActionResult GetDescriptors(string sub_group_id)
{
Result<InfinityQSDescriptor[]> result = _InfinityQSRepository.GetDescriptors(sub_group_id);
return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
}
[HttpGet("{sub_group_id}/events")]
public IActionResult GetEvents(string sub_group_id)
{
Result<InfinityQSEvent[]> result = _InfinityQSRepository.GetEvents(sub_group_id);
return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
}
[HttpGet("{sub_group_id}/header")]
public IActionResult GetHeader(string sub_group_id)
{
Result<InfinityQSBase[]> result = _InfinityQSRepository.GetHeader(sub_group_id);
return Json(result, new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
}
}