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

91 lines
2.9 KiB
C#

using CPRNIMS.Domain.UIContracts.Account;
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<RRVM>? response;
private readonly IRR _rr;
public RRMgmtController(ErrorLogHelper errorMessageService,
IWebHostEnvironment webHostEnvironment, TokenHelper tokenHelper
, IRR pRequest,IAccount account)
: base(errorMessageService, webHostEnvironment, tokenHelper, account)
{
_rr = pRequest;
}
#region Get
public async Task<IActionResult> 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<IActionResult> 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<IActionResult> PostPutPayment(RRVM viewModel, List<ItemReceivingList> 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<IActionResult> Index()
{
return await IsAuthenTicated();
}
#endregion
}
}