63 lines
2.3 KiB
C#
63 lines
2.3 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SytelineSaAppEfDataModel.Dtos;
|
|
using SytelineSaAppEfDataModel.Services;
|
|
|
|
namespace FaKrosnoApi.Controllers
|
|
{
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public class EdiCustomerOrdersController(IEdiCustomerOrderService service) : Controller
|
|
{
|
|
[HttpGet]
|
|
public async Task<ActionResult<IEnumerable<EdiCustomerOrderDto>>> GetAll()
|
|
{
|
|
IEnumerable<EdiCustomerOrderDto?> ediCustomerOrders = await service.GetAll();
|
|
return Ok(ediCustomerOrders);
|
|
}
|
|
|
|
[HttpGet("by-date")]
|
|
public async Task<ActionResult<IEnumerable<EdiCustomerOrderDto>>> GetByDate([FromQuery] DateTime date)
|
|
{
|
|
IEnumerable<EdiCustomerOrderDto?> scheduleOrders = await service.GetByDate(date);
|
|
return Ok(scheduleOrders);
|
|
}
|
|
|
|
[HttpGet("by-order-number")]
|
|
public async Task<ActionResult<EdiCustomerOrderDto>> GetByCustomerOrderNumber([FromQuery] Guid customerOrderNumber)
|
|
{
|
|
EdiCustomerOrderDto? scheduleOrder = await service.GetByOrderNumber(customerOrderNumber);
|
|
return scheduleOrder != null ? Ok(scheduleOrder) : NotFound();
|
|
}
|
|
|
|
[HttpGet("last-order-number")]
|
|
public async Task<ActionResult<int>> GetLastOrderNumber()
|
|
{
|
|
int lastOrderNumber = await service.GetLastOrderNumber();
|
|
return Ok(lastOrderNumber);
|
|
}
|
|
|
|
[HttpPost("send-to-syteline")]
|
|
public async Task<ActionResult<int>> SendOrderToSyteline([FromQuery] Guid customerOrderNumber)
|
|
{
|
|
int result = await service.SendOrderToSyteline(customerOrderNumber);
|
|
return result > 0 ? Ok() : BadRequest();
|
|
}
|
|
|
|
[HttpPost("save-orders")]
|
|
public async Task<ActionResult> SaveOrdersWithDetails([FromBody] List<EdiCustomerOrderDto> ediCustomerOrders)
|
|
{
|
|
if (!ediCustomerOrders.Any())
|
|
{
|
|
return BadRequest("The list of orders cannot be null or empty.");
|
|
}
|
|
|
|
var result = await service.SaveOrdersWithDetails(ediCustomerOrders);
|
|
|
|
return result.Item1
|
|
? Ok("Orders saved successfully.")
|
|
: BadRequest($"Failed to save orders. Error: {result.Item2}");
|
|
}
|
|
}
|
|
}
|