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 ServiceShopOrderController : ControllerBase, IServiceShopOrderController { private readonly IServiceShopOrderController _ServiceShopOrderController; private readonly IServiceShopOrderRepository _ServiceShopOrderRepository; public ServiceShopOrderController(IServiceShopOrderRepository ServiceShopOrderRepository) { _ServiceShopOrderController = this; _ServiceShopOrderRepository = ServiceShopOrderRepository; } async Task IServiceShopOrderController.GetAllServiceShopOrders() => await _ServiceShopOrderRepository.GetAllServiceShopOrders(); async Task IServiceShopOrderController.GetServiceShopOrders(string id) => await _ServiceShopOrderRepository.GetServiceShopOrders(id); [HttpGet(nameof(Shared.Models.Stateless.IServiceShopOrderController.Action.All))] public async Task GetAllServiceShopOrders() { try { Shared.ViewModels.ServiceShopOrder[] results = await _ServiceShopOrderController.GetAllServiceShopOrders(); return Ok(results); } catch (Exception) { return StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database"); } } [HttpGet] [Route("{id}")] public async Task GetServiceShopOrders(string id) { try { Shared.ViewModels.ServiceShopOrder[] results = await _ServiceShopOrderController.GetServiceShopOrders(id); return Ok(results); } catch (Exception) { return StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database"); } } }