GGMM/GrossesMitaines/GrossesMitainesAPI/Controllers/InventoryController.cs

50 lines
1.3 KiB
C#
Raw Normal View History

2022-10-08 13:22:12 -04:00
using Microsoft.AspNetCore.Mvc;
using GrossesMitainesAPI.Models;
using System.Linq;
using GrossesMitainesAPI.Data;
using Microsoft.Extensions.Logging;
namespace GrossesMitainesAPI.Controllers;
[ApiController]
[Route("[controller]")]
public class InventoryController : Controller {
private readonly ILogger<InventoryController> _logger;
private readonly InventoryContext _context;
public InventoryController(ILogger<InventoryController> logger, InventoryContext context) {
_logger = logger;
_context = context;
}
[HttpGet(Name ="Inventory")]
public IEnumerable<Product> Get(int? last) {
if (!last.HasValue)
last = 1;
return _context.Products.Where(x => x.Id >= last && x.Id < last + 5).ToList();
}
[HttpGet(Name = "Product")]
public Product Get(int id) {
Product prod;
try {
prod = _context.Products.Where(x => x.Id == id).First();
} catch (Exception e) {
_logger.LogError(8, e.Message);
prod = new Product();
}
return prod;
}
[HttpPost(Name = "Product")]
public void Post(Product prod) {
prod.Id = _context.Products.Count();
try {
_context.Products.Add(prod);
} catch (Exception e){
_logger.LogError(8, e.Message);
}
}
}