PSTW_CentralizeSystem/Controllers/API/Inventory/InvMainAPI.cs
2024-11-26 16:26:56 +08:00

78 lines
2.4 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Mono.TextTemplating;
using PSTW_CentralSystem.Areas.Inventory.Models;
using PSTW_CentralSystem.DBContext;
using PSTW_CentralSystem.Models;
using System.Diagnostics;
using System.Reflection;
namespace PSTW_CentralSystem.Controllers.API.Inventory
{
[ApiController]
[Route("[controller]")]
public class InvMainAPI : Controller
{
private readonly ILogger<InvMainAPI> _logger;
private readonly AuthDBContext _authDbContext;
public InvMainAPI(ILogger<InvMainAPI> logger, AuthDBContext authDbContext)
{
_logger = logger;
_authDbContext = authDbContext;
}
[HttpPost("ManufacturerList")]
public async Task<IActionResult> ManufacturerList()
{
var manifacturerList = await _authDbContext.Manufacturers.ToListAsync();
return Json(manifacturerList);
}
[HttpPost("AddManufacturer")]
public async Task<IActionResult> AddManufacturer([FromBody] ManufacturerModel manufacturer)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (manufacturer == null)
{
return NotFound("Manufacturer is null");
}
try
{
_authDbContext.Manufacturers.Add(new ManufacturerModel
{
ManufacturerName = manufacturer.ManufacturerName,
});
await _authDbContext.SaveChangesAsync();
var updatedList = await _authDbContext.Manufacturers.ToListAsync();
return Json(updatedList);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
[HttpDelete("DeleteManufacturer/{id}")]
public async Task<IActionResult> DeleteManufacturer(int id)
{
var manufacturer = await _authDbContext.Manufacturers.FindAsync(id);
if (manufacturer == null)
{
return NotFound(new { success = false, message = "Manufacturer not found" });
}
_authDbContext.Manufacturers.Remove(manufacturer);
await _authDbContext.SaveChangesAsync();
return Ok(new { success = true, message = "Manufacturer deleted successfully" });
}
}
}