154 lines
5.6 KiB
C#
154 lines
5.6 KiB
C#
using Azure.Core;
|
|
using CPRNIMS.Domain.UIContracts.Account;
|
|
using CPRNIMS.Domain.UIContracts.Inventory;
|
|
using CPRNIMS.Infrastructure.Dto.Inventory.Request;
|
|
using CPRNIMS.Infrastructure.Helper;
|
|
using CPRNIMS.Infrastructure.ViewModel.Inventory;
|
|
using CPRNIMS.WebApps.Controllers.Base;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
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> GetTransactContext(int inventoryId)
|
|
{
|
|
var response = await _inventory.GetTransactContextAsync(inventoryId);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetLotQtyByItem(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetLotQtyByItem(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetLotNo(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetLotNo(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetLotNoById(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetLotNoById(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetInventoryById(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetInventoryById(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetInventoryByUserId(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetInventoryByUserId(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
public async Task<IActionResult> GetRequestedItemByUserId(InventoryVM viewModels)
|
|
{
|
|
response = await _inventory.GetRequestedItemByUserId(GetUser(), viewModels);
|
|
return GetResponse(response);
|
|
}
|
|
[HttpGet]
|
|
public async Task<IActionResult> GetInventory(string searchPRNo = "", string searchItemNo = "",string searchItemName = "",
|
|
string searchDept = "",string searchProjectCode="", int pageNumber = 1, int pageSize = 10)
|
|
{
|
|
var request = new InventoryRequest
|
|
{
|
|
SearchPRNo = searchPRNo,
|
|
SearchItemNo = searchItemNo,
|
|
SearchItemName = searchItemName,
|
|
SearchDept = searchDept,
|
|
SearchProjectCode = searchProjectCode,
|
|
PageNumber = pageNumber,
|
|
PageSize = pageSize
|
|
};
|
|
|
|
var result = await _inventory.GetInventory(GetUser(), request);
|
|
int draw = int.TryParse(Request.Query["draw"], out int d) ? d : 1;
|
|
|
|
return Json(new
|
|
{
|
|
draw = draw,
|
|
recordsTotal = result.TotalCount,
|
|
recordsFiltered = result.TotalCount,
|
|
data = result.Data,
|
|
departmentList=result.DepartmentList,
|
|
});
|
|
}
|
|
#endregion
|
|
#region POST PUT
|
|
public async Task<IActionResult> PostPutLotNo(InventoryVM viewModel)
|
|
{
|
|
var postPutItem = await _inventory.PostPutLotNo(GetUser(), viewModel);
|
|
|
|
if (postPutItem.StatusResponse != "Error")
|
|
{
|
|
return Json(new { success = true });
|
|
}
|
|
|
|
return Json(new { success = false, Response = postPutItem.Message });
|
|
}
|
|
public async Task<IActionResult> PostPutLotBin(InventoryVM viewModel)
|
|
{
|
|
var postPutItem = await _inventory.PostPutLotBin(GetUser(), viewModel);
|
|
|
|
if (postPutItem.StatusResponse != "Error")
|
|
{
|
|
return Json(new { success = true });
|
|
}
|
|
|
|
return Json(new { success = false, Response = postPutItem.Message });
|
|
}
|
|
public async Task<IActionResult> PostPutReqApproval(InventoryVM viewModel)
|
|
{
|
|
var postPutItem = await _inventory.PostPutReqApproval(GetUser(), viewModel);
|
|
|
|
if (postPutItem.StatusResponse != "Error")
|
|
{
|
|
return Json(new { success = true });
|
|
}
|
|
|
|
return Json(new { success = false, Response = postPutItem.Message });
|
|
}
|
|
public async Task<IActionResult> PostPutReqItems(InventoryVM viewModel)
|
|
{
|
|
var postPutItem = await _inventory.PostPutReqItems(GetUser(), viewModel);
|
|
|
|
if (postPutItem.StatusResponse != "Error")
|
|
{
|
|
return Json(new { success = true });
|
|
}
|
|
|
|
return Json(new { success = false, Response = postPutItem.Message });
|
|
}
|
|
#endregion
|
|
#region Views
|
|
public IActionResult GetInventoryTabPage(int id)
|
|
{
|
|
return ViewComponent("InventoryTabPage", new { inventoryTabPageId = id });
|
|
}
|
|
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
|
|
}
|
|
}
|