using CPRNIMS.Domain.UIContracts.Finance; using CPRNIMS.Infrastructure.Helper; using CPRNIMS.Infrastructure.ViewModel.Finance; using CPRNIMS.Infrastructure.ViewModel.PR; using CPRNIMS.WebApps.Controllers.Base; using Microsoft.AspNetCore.Mvc; namespace CPRNIMS.WebApps.Controllers.Finance { public class RRMgmtController : BaseMethod { List? response; private readonly IRR _rr; public RRMgmtController(ErrorLogHelper errorMessageService, IWebHostEnvironment webHostEnvironment, TokenHelper tokenHelper , IRR pRequest) : base(errorMessageService, webHostEnvironment, tokenHelper) { _rr = pRequest; } #region Get public async Task GetAllClosedPO() { try { var viewModels = new RRVM(); response = await _rr.GetAllClosedPO(GetUser(), viewModels); return GetResponse(response); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); throw; } } public async Task GetRRDetailByPO(RRVM viewModels) { try { response = await _rr.GetRRDetailByPO(GetUser(), viewModels); return GetResponse(response); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); throw; } } #endregion #region POST PUT public async Task PostPutPayment(RRVM viewModel, List ItemList) { try { if (ItemList.Count > 0) { viewModel.ItemList = new ItemReceivingList { PRDetailsId = ItemList.SelectMany(ic => ic.PRDetailsId).ToList() }; var postPutItem = await _rr.PostPutPayment(GetUser(), viewModel); if (postPutItem.StatusResponse != "Error") { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.Message }); } return Json(new { success = false, Response = "EmptyArray" }); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); throw; } } #endregion #region Views public async Task Index() { await IsAuthenTicated(); return View(); } #endregion } }