NonInventPurchasingSystem/CPRNIMS.WebApps/Controllers/Inventory/InventoryMgmtController.cs
2026-02-12 10:41:44 +08:00

197 lines
6.4 KiB
C#

using CPRNIMS.Domain.UIContracts.Account;
using CPRNIMS.Domain.UIContracts.Inventory;
using CPRNIMS.Infrastructure.Helper;
using CPRNIMS.Infrastructure.ViewModel.Account;
using CPRNIMS.Infrastructure.ViewModel.Finance;
using CPRNIMS.Infrastructure.ViewModel.Inventory;
using CPRNIMS.WebApps.Controllers.Base;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace CPRNIMS.WebApps.Controllers.Inventory
{
public class InventoryMgmtController : BaseMethod
{
List<InventoryVM>? response;
private readonly IInventory _inventory;
public InventoryMgmtController(ErrorLogHelper errorMessageService,
IWebHostEnvironment webHostEnvironment, TokenHelper tokenHelper
, IInventory inventory,IAccount account)
: base(errorMessageService, webHostEnvironment, tokenHelper, account)
{
_inventory = inventory;
}
#region Get
public async Task<IActionResult> GetLotQtyByItem(InventoryVM viewModels)
{
try
{
response = await _inventory.GetLotQtyByItem(GetUser(), viewModels);
return GetResponse(response);
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> GetLotNo(InventoryVM viewModels)
{
try
{
response = await _inventory.GetLotNo(GetUser(), viewModels);
return GetResponse(response);
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> GetLotNoById(InventoryVM viewModels)
{
try
{
response = await _inventory.GetLotNoById(GetUser(), viewModels);
return GetResponse(response);
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> GetInventoryById(InventoryVM viewModels)
{
try
{
response = await _inventory.GetInventoryById(GetUser(), viewModels);
return GetResponse(response);
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> GetInventoryByUserId(InventoryVM viewModels)
{
response = await _inventory.GetInventoryByUserId(GetUser(), viewModels);
return GetResponse(response);
}
public async Task<IActionResult> GetRequestedItemByUserId(InventoryVM viewModels)
{
try
{
response = await _inventory.GetRequestedItemByUserId(GetUser(), viewModels);
return GetResponse(response);
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
#endregion
#region POST PUT
public async Task<IActionResult> PostPutLotNo(InventoryVM viewModel)
{
try
{
var postPutItem = await _inventory.PostPutLotNo(GetUser(), viewModel);
if (postPutItem.StatusResponse != "Error")
{
return Json(new { success = true });
}
return Json(new { success = false, Response = postPutItem.Message });
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> PostPutLotBin(InventoryVM viewModel)
{
try
{
var postPutItem = await _inventory.PostPutLotBin(GetUser(), viewModel);
if (postPutItem.StatusResponse != "Error")
{
return Json(new { success = true });
}
return Json(new { success = false, Response = postPutItem.Message });
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> PostPutReqApproval(InventoryVM viewModel)
{
try
{
var postPutItem = await _inventory.PostPutReqApproval(GetUser(), viewModel);
if (postPutItem.StatusResponse != "Error")
{
return Json(new { success = true });
}
return Json(new { success = false, Response = postPutItem.Message });
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
public async Task<IActionResult> PostPutReqItems(InventoryVM viewModel)
{
try
{
var postPutItem = await _inventory.PostPutReqItems(GetUser(), viewModel);
if (postPutItem.StatusResponse != "Error")
{
return Json(new { success = true });
}
return Json(new { success = false, Response = postPutItem.Message });
}
catch (Exception ex)
{
var message = ex.InnerException?.ToString() ?? ex.Message.ToString();
throw;
}
}
#endregion
#region Views
public async Task<IActionResult> Inventory()
{
return await IsAuthenTicated();
}
public async Task<IActionResult> Lot()
{
return await IsAuthenTicated();
}
public async Task<IActionResult> RequestItem()
{
return await IsAuthenTicated();
}
#endregion
}
}