using CPRNIMS.Domain.Contracts.Inventory; using CPRNIMS.Domain.Services; using CPRNIMS.Infrastructure.Dto.Inventory; using CPRNIMS.WebApi.Controllers.Base; using Microsoft.AspNetCore.Mvc; namespace CPRNIMS.WebApi.Controllers.Inventory { [Security.AuthorizeRoles("InventoryMgmt")] public class InventoryMgmtController : BaseController { private readonly IInventory _inventory; public InventoryMgmtController(ErrorMessageService errorMessageService, IWebHostEnvironment webHostEnvironment, IConfiguration configuration, IInventory inventory) : base(errorMessageService, webHostEnvironment,configuration) { _inventory = inventory; } #region Get [HttpPost("GetInventoryByUserId")] public async Task GetInventoryByUserId(InventoryDto itemCodeDto) { return Ok(await _inventory.GetInventoryByUserId(itemCodeDto)); } [HttpPost("GetRequestedItemByUserId")] public async Task GetRequestedItemByUserId(InventoryDto itemCodeDto) { try { var allPR = await _inventory.GetRequestedItemByUserId(itemCodeDto); return Ok(allPR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "GetRequestedItemByUserId", "WebApi"); throw; } } //GetRequestedItemByUserId [HttpPost("GetInventoryById")] public async Task GetInventoryById(InventoryDto itemCodeDto) { try { var allPR = await _inventory.GetInventoryById(itemCodeDto); return Ok(allPR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "GetInventoryById", "WebApi"); throw; } } [HttpPost("GetLotNo")] public async Task GetLotNo(InventoryDto itemCodeDto) { try { var allPR = await _inventory.GetLotNo(itemCodeDto); return Ok(allPR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "GetInventoryById", "WebApi"); throw; } } [HttpPost("GetLotNoById")] public async Task GetLotNoById(InventoryDto itemCodeDto) { try { var allPR = await _inventory.GetLotNoById(itemCodeDto); return Ok(allPR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "GetInventoryById", "WebApi"); throw; } } [HttpPost("GetLotQtyByItem")] public async Task GetLotQtyByItem(InventoryDto itemCodeDto) { try { var allPR = await _inventory.GetLotQtyByItem(itemCodeDto); return Ok(allPR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "GetLotQtyByItem", "WebApi"); throw; } } #endregion #region Post Put [HttpPost("PostPutReqItems")] public async Task PostPutReqItems(InventoryDto InventoryDto) { try { var pR = await _inventory.PostPutReqItems(InventoryDto); return Ok(pR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "PostPutReqItems", "WebApi"); throw; } } [HttpPost("PostPutReqApproval")] public async Task PostPutReqApproval(InventoryDto InventoryDto) { try { var pR = await _inventory.PostPutReqApproval(InventoryDto); return Ok(pR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "PostPutReqApproval", "WebApi"); throw; } } [HttpPost("PostPutLotNo")] public async Task PostPutLotNo(InventoryDto InventoryDto) { try { var pR = await _inventory.PostPutLotNo(InventoryDto); return Ok(pR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "PostPutReqApproval", "WebApi"); throw; } } [HttpPost("PostPutLotBin")] public async Task PostPutLotBin(InventoryDto InventoryDto) { try { var pR = await _inventory.PostPutLotBin(InventoryDto); return Ok(pR); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message + "PostPutLotBin", "WebApi"); throw; } } #endregion } }