using Expose.MyIT.Shared.Models.Methods; using Expose.MyIT.Shared.Models.Stateless.Methods; using Microsoft.AspNetCore.Mvc; namespace Expose.MyIT.Server.Controllers; [ApiController] [Route("api/[controller]")] public class SsaOrderController : ControllerBase, ISsaOrderController { private readonly ISsaOrderController _SsaOrderController; private readonly ISsaOrderRepository _SsaOrderRepository; public SsaOrderController(ISsaOrderRepository SsaOrderRepository) { _SsaOrderController = this; _SsaOrderRepository = SsaOrderRepository; } async Task ISsaOrderController.GetAllSsaOrders() => await _SsaOrderRepository.GetAllSsaOrders(); async Task ISsaOrderController.GetSsaOrders(string id) => await _SsaOrderRepository.GetSsaOrders(id); [HttpGet(nameof(Shared.Models.Stateless.ISsaOrderController.Action.All))] public async Task GetAllSsaOrders() { try { Shared.ViewModels.SsaOrder[] results = await _SsaOrderController.GetAllSsaOrders(); return Ok(results); } catch (Exception) { return StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database"); } } [HttpGet] [Route("{id}")] public async Task GetSsaOrders(string id) { try { Shared.ViewModels.SsaOrder[] results = await _SsaOrderController.GetSsaOrders(id); return Ok(results); } catch (Exception) { return StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database"); } } }