Some checks failed
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Failing after 15m47s
48 lines
1.8 KiB
C#
48 lines
1.8 KiB
C#
using Core.Interfaces.Stock; // ILSStockScanDom
|
|
using Domain.Dtos.Stock; // StockItemSearchParams, StockItemScanResultDto
|
|
using Domain.Generics; // PagedResult<T>
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace API.Controllers.Stock
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class LSStockScanController : ControllerBase
|
|
{
|
|
private readonly ILSStockScanDom _service;
|
|
|
|
public LSStockScanController(ILSStockScanDom service)
|
|
{
|
|
_service = service;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Búsqueda paginada de ítems de stock por código/texto, lote y filtros opcionales.
|
|
/// </summary>
|
|
[HttpPost("search")]
|
|
public async Task<ActionResult<PagedResult<StockItemScanResultDto>>> Search([FromBody] StockItemSearchParams searchParams)
|
|
{
|
|
var result = await _service.SearchAsync(searchParams);
|
|
return Ok(result);
|
|
}
|
|
|
|
/// Realiza una búsqueda paginada de ítems de stock utilizando datos ya parseados
|
|
/// (por ejemplo, provenientes de un código GS1 escaneado).
|
|
/// </summary>
|
|
/// <param name="searchParams">
|
|
/// Parámetros de búsqueda ya procesados y listos para filtrar en base de datos,
|
|
/// incluyendo código de producto, lote, fecha de vencimiento, ubicación, etc.
|
|
/// </param>
|
|
/// <returns>
|
|
/// Lista paginada de ítems de stock que cumplen con los filtros especificados.
|
|
/// </returns>
|
|
|
|
[HttpPost("search-parsed")]
|
|
public async Task<ActionResult<PagedResult<StockItemScanResultDto>>> SearchParsed([FromBody] StockItemParsedSearchParams searchParams)
|
|
{
|
|
var result = await _service.SearchParsedAsync(searchParams);
|
|
return Ok(result);
|
|
}
|
|
}
|
|
}
|