Class StockReservationsController
- Namespace
- KadicErp.WebApi.Controllers.Inventory
- Assembly
- KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/inventory/stock-reservations")]
public class StockReservationsController : ControllerBase
- Inheritance
-
objectControllerBaseStockReservationsController
Constructors
StockReservationsController(IMediator, ICurrentUser, ITenantIdContext, IStringLocalizer<GeneralMessages>)
public StockReservationsController(IMediator mediator, ICurrentUser currentUser, ITenantIdContext tenantContext, IStringLocalizer<GeneralMessages> localizer)
Parameters
mediatorIMediatorcurrentUserICurrentUsertenantContextITenantIdContextlocalizerIStringLocalizer<GeneralMessages>
Methods
Cancel(Guid, CancelStockReservationCommand, CancellationToken)
Cancelar una reserva
[HttpPost("{id:guid}/cancel")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_CANCEL")]
[ProducesResponseType(200)]
[ProducesResponseType(typeof(Error), 400)]
[ProducesResponseType(typeof(Error), 403)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 409)]
public Task<IActionResult> Cancel(Guid id, CancelStockReservationCommand command, CancellationToken cancellationToken)
Parameters
idGuidcommandCancelStockReservationCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
Consume(Guid, ConsumeStockReservationCommand, CancellationToken)
Consumir una reserva (marcar como despachada)
[HttpPost("{id:guid}/consume")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_CONSUME")]
[ProducesResponseType(200)]
[ProducesResponseType(typeof(Error), 400)]
[ProducesResponseType(typeof(Error), 403)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 409)]
public Task<IActionResult> Consume(Guid id, ConsumeStockReservationCommand command, CancellationToken cancellationToken)
Parameters
idGuidcommandConsumeStockReservationCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
Create(CreateStockReservationCommand, CancellationToken)
Crear una nueva reserva de inventario
[HttpPost]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_CREATE")]
[ProducesResponseType(typeof(Guid), 201)]
[ProducesResponseType(typeof(Error), 400)]
[ProducesResponseType(typeof(Error), 404)]
[ProducesResponseType(typeof(Error), 409)]
public Task<IActionResult> Create(CreateStockReservationCommand command, CancellationToken cancellationToken)
Parameters
commandCreateStockReservationCommandcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetById(Guid, CancellationToken)
Obtener una reserva por ID
[HttpGet("{id:guid}")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_VIEW")]
[ProducesResponseType(typeof(StockReservationDto), 200)]
[ProducesResponseType(typeof(Error), 404)]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetBySource(string, Guid, CancellationToken)
Obtener reservas por documento origen
[HttpGet("source")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_VIEW")]
[ProducesResponseType(typeof(IEnumerable<object>), 200)]
public Task<IActionResult> GetBySource(string sourceType, Guid sourceId, CancellationToken cancellationToken)
Parameters
sourceTypestringsourceIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetByWarehouse(Guid, CancellationToken, Guid?)
Obtener reservas por almacén
[HttpGet("warehouse/{warehouseId:guid}")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_VIEW")]
[ProducesResponseType(typeof(IEnumerable<object>), 200)]
public Task<IActionResult> GetByWarehouse(Guid warehouseId, CancellationToken cancellationToken, Guid? statusId = null)
Parameters
warehouseIdGuidcancellationTokenCancellationTokenstatusIdGuid?
Returns
- Task<IActionResult>
GetByWarehouseAndItem(Guid, Guid, CancellationToken, Guid?)
Obtener reservas por tenant (actual), almacen e item
[HttpGet("warehouse/{warehouseId:guid}/item/{itemId:guid}")]
[Authorize(Policy = "INVENTORY_STOCK_RESERVATIONS_VIEW")]
[ProducesResponseType(typeof(IEnumerable<StockReservationDetailsDto>), 200)]
public Task<IActionResult> GetByWarehouseAndItem(Guid warehouseId, Guid itemId, CancellationToken cancellationToken, Guid? statusId = null)
Parameters
warehouseIdGuiditemIdGuidcancellationTokenCancellationTokenstatusIdGuid?
Returns
- Task<IActionResult>