using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using NLog; using WebDoorCreator.Data.DTO; using WebDoorCreator.Data.Services; namespace WebDoorCreator.API.Controllers { [Route("api/[controller]")] [ApiController] public class OrderController : ControllerBase { public OrderController(IConfiguration configuration, WebDoorCreatorService DataService) { Log.Info("Starting OrderController"); _configuration = configuration; WDCService = DataService; Log.Info("Avviato OrderController"); } /// /// GET: api/Order /// /// [HttpGet] public string Get() { return "OK"; } /// /// GET: api/Order/GetCurrent /// Recupera ordini degli ultimi 6 mesi dato cliente e stato /// /// [HttpGet("GetCurrent")] public async Task> GetCurrent(int id, int ordStatus) { List answ = new List(); DateTime dtEnd = DateTime.Now; DateTime dtStart = dtEnd.AddMonths(-1); var rawData = await WDCService.OrderStatusGetFilt(id, ordStatus, dtStart, dtEnd); if (rawData != null) { answ = rawData.Select(x => x.OrderId).ToList(); } return answ; } /// /// Order detail for cost evaluation /// /// /// [HttpGet("OrderDetail")] public async Task OrderDetail(int OrderId) { OrderDetailsDTO answ = new OrderDetailsDTO() { OrderId = OrderId }; // recupero info ordine var rawOrder = await WDCService.OrderGetByKey(OrderId); if (rawOrder != null) { answ.OrderDescript = rawOrder.OrderDescript; answ.OrderExtCode = rawOrder.OrderExtCode; // recupero info customer // recuper elenco porte... //answ. = rawOrder.OrderDescript; } // popolo con dati specifica... return answ; } private static IConfiguration _configuration = null!; private static Logger Log = LogManager.GetCurrentClassLogger(); private WebDoorCreatorService WDCService { get; set; } = null!; } }