using FaKrosnoEfDataModel.Dtos; using FaKrosnoEfDataModel.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace FaKrosnoApi.Controllers { [ApiController] [Route("api/[controller]")] [Authorize] public class ScheduleOrdersController(IScheduleOrderService service) : Controller { [HttpGet] public async Task>> GetAll() { IEnumerable scheduleOrders = await service.GetEntities(); return Ok(scheduleOrders); } [HttpGet("by-date")] public async Task>> GetByDate([FromQuery] DateTime date) { IEnumerable scheduleOrders = await service.GetEntitiesByLastUpdateDate(date); return Ok(scheduleOrders); } [HttpGet("{id:int}")] public async Task> GetById(int id) { ScheduleOrderDto? scheduleOrder = await service.GetById(id); return scheduleOrder != null ? Ok(scheduleOrder) : NotFound(); } [HttpGet("recipient/{recipientId:int}")] public async Task>> GetByRecipientId(int recipientId) { IEnumerable scheduleOrders = await service.GetByRecipientId(recipientId); return Ok(scheduleOrders); } [HttpGet("recipient/{recipientId:int}/date")] public async Task>> GetByRecipientAndLastUpdateDate(int recipientId, [FromQuery] DateTime date) { IEnumerable scheduleOrders = await service.GetByRecipientAndLastUpdateDate(recipientId, date); return Ok(scheduleOrders); } } }