46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using PartSource.Data.Models;
|
|
using PartSource.Services;
|
|
using System.Net;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PartSource.Api.Controllers
|
|
{
|
|
[Route("[controller]")]
|
|
[Route("v1/[controller]")]
|
|
[ApiController]
|
|
[ApiExplorerSettings(GroupName = "v1")]
|
|
public class InventoryController : BaseNexpartController
|
|
{
|
|
private readonly PartService _inventoryService;
|
|
|
|
public InventoryController(PartService inventoryService)
|
|
{
|
|
_inventoryService = inventoryService;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("sku/{sku}/storeNumber/{storeNumber}")]
|
|
public async Task<ActionResult> GetInventory(int sku, int storeNumber)
|
|
{
|
|
PartAvailability inventory = await _inventoryService.GetInventory(sku, storeNumber);
|
|
|
|
if (inventory == null)
|
|
{
|
|
return NotFound($"No part matching SKU {sku} was found.");
|
|
}
|
|
|
|
return Ok(new
|
|
{
|
|
data = new
|
|
{
|
|
StoreNumber = inventory.Store,
|
|
Sku = sku,
|
|
Quantity = inventory.QTY,
|
|
Updated = inventory.Updated ?? System.DateTime.MinValue
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|