Files
PIbd-24_EredavkinRA_TheAvto…/AvtoTazWebApi/Controllers/ShipmentController.cs
2025-04-14 20:15:12 +04:00

58 lines
1.7 KiB
C#

using AvtoTAZContratcs.AdapterContracts;
using AvtoTAZContratcs.BindingModels;
using AvtoTAZContratcs.DataModels;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace AvtoTazWebApi.Controllers;
[Authorize]
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize]
public class ShipmentController(IShipmentAdapter adapter) : ControllerBase
{
private readonly IShipmentAdapter _adapter = adapter;
[HttpGet]
public IActionResult GetRecords(DateTime fromDate, DateTime toDate)
{
return _adapter.GetList(fromDate, toDate).GetResponse(Request, Response);
}
[HttpGet]
public IActionResult GetWorkerRecords(string id, DateTime fromDate, DateTime toDate)
{
return _adapter.GetWorkerList(id, fromDate, toDate).GetResponse(Request, Response);
}
[HttpGet]
public IActionResult GetBuyerRecords(string id, DateTime fromDate, DateTime toDate)
{
return _adapter.GetDealerList(id, fromDate, toDate).GetResponse(Request, Response);
}
[HttpGet]
public IActionResult GetProductRecords(string id, DateTime fromDate, DateTime toDate)
{
return _adapter.GetCarAssemblyList(id, fromDate, toDate).GetResponse(Request, Response);
}
[HttpGet("{data}")]
public IActionResult GetRecord(string data)
{
return _adapter.GetElement(data).GetResponse(Request, Response);
}
[HttpPost]
public IActionResult Sale([FromBody] ShipmentBindingModel model)
{
return _adapter.MakeSale(model).GetResponse(Request, Response);
}
[HttpDelete("{id}")]
public IActionResult Cancel(string id)
{
return _adapter.CancelShipment(id).GetResponse(Request, Response);
}
}