51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
using AutoMapper;
|
|
using FaKrosnoEfDataModel;
|
|
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<ActionResult<IEnumerable<ScheduleOrderDto>>> GetAll()
|
|
{
|
|
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetEntities();
|
|
return Ok(scheduleOrders);
|
|
}
|
|
|
|
[HttpGet("by-date")]
|
|
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByDate([FromQuery] DateTime date)
|
|
{
|
|
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetEntitiesByLastUpdateDate(date);
|
|
return Ok(scheduleOrders);
|
|
}
|
|
|
|
[HttpGet("{id:int}")]
|
|
public async Task<ActionResult<ScheduleOrderDto>> GetById(int id)
|
|
{
|
|
ScheduleOrderDto? scheduleOrder = await service.GetById(id);
|
|
return scheduleOrder != null ? Ok(scheduleOrder) : NotFound();
|
|
}
|
|
|
|
[HttpGet("recipient/{recipientId:int}")]
|
|
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByRecipientId(int recipientId)
|
|
{
|
|
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetByRecipientId(recipientId);
|
|
return Ok(scheduleOrders);
|
|
}
|
|
|
|
[HttpGet("recipient/{recipientId:int}/date")]
|
|
public async Task<ActionResult<IEnumerable<ScheduleOrderDto>>> GetByRecipientAndLastUpdateDate(int recipientId, [FromQuery] DateTime date)
|
|
{
|
|
IEnumerable<ScheduleOrderDto?> scheduleOrders = await service.GetByRecipientAndLastUpdateDate(recipientId, date);
|
|
return Ok(scheduleOrders);
|
|
}
|
|
}
|
|
}
|