41 lines
1.7 KiB
C#
41 lines
1.7 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace OI.Metrology.Server.ApiControllers;
|
|
|
|
using OI.Metrology.Shared.Models.Stateless;
|
|
using System.Text.Json;
|
|
|
|
// this controller is for the Awaiting Dispo functionality
|
|
|
|
[Route("api/[controller]")]
|
|
public class AwaitingDispoController : Controller, IAwaitingDispoController<IActionResult>
|
|
{
|
|
private readonly IMetrologyRepository _MetrologyRepository;
|
|
public AwaitingDispoController(IMetrologyRepository metrologyRepository) =>
|
|
_MetrologyRepository = metrologyRepository;
|
|
|
|
// returns the data to show in the Awaiting Dispo grid
|
|
// marked no-cache, just-in-case since igniteUI automatically adds a query string parameter to prevent caching
|
|
[HttpGet]
|
|
[ResponseCache(NoStore = true)]
|
|
public IActionResult Index() =>
|
|
Json(_MetrologyRepository.GetAwaitingDisposition(), new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });
|
|
|
|
// this endpoint is used to set the ReviewDate column, causing the header to no longer show in Awaiting Dispo
|
|
[HttpPost("/api/awaitingdispo/markasreviewed")]
|
|
public IActionResult MarkAsReviewed([FromQuery] long headerid, [FromQuery] int tooltypeid)
|
|
{
|
|
_ = _MetrologyRepository.UpdateReviewDate(tooltypeid, headerid, false);
|
|
return Ok();
|
|
}
|
|
|
|
// this endpoint is used to clear the ReviewDate column, causing the header to show up again
|
|
[HttpPost("/api/awaitingdispo/markasawaiting")]
|
|
public IActionResult MarkAsAwaiting([FromQuery] long headerid, [FromQuery] int tooltypeid)
|
|
{
|
|
if (_MetrologyRepository.UpdateReviewDate(tooltypeid, headerid, true) <= 1)
|
|
return Ok();
|
|
else
|
|
return StatusCode(444);
|
|
}
|
|
} |