using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models.Stateless;
using System.Text.Json;

namespace OI.Metrology.Server.ApiControllers;

[Route("api/[controller]")]
public class ReactorsController : Controller, IReactorsController<IActionResult>
{

    private readonly IReactorsRepository _ReactorsRepository;

    public ReactorsController(IReactorsRepository reactorsRepository) =>
        _ReactorsRepository = reactorsRepository;

    [HttpGet("{even}")]
    public IActionResult Get(bool even) =>
        Json(even ? _ReactorsRepository.EvenReactors() : _ReactorsRepository.OddReactors(), new JsonSerializerOptions { PropertyNamingPolicy = null, WriteIndented = true });

    [HttpPost()]
    public IActionResult Post(Shared.DataModels.WorkMaterialOut workMaterialOut) =>
        Ok(_ReactorsRepository.GetKey(workMaterialOut, save: true));

}