NonInventPurchasingSystem/CPRNIMS.WebApps/Controllers/Inventory/InventoryReportsController.cs
2026-06-18 16:51:31 +08:00

41 lines
1.4 KiB
C#

using CPRNIMS.Domain.UIContracts.Inventory;
using Microsoft.AspNetCore.Mvc;
namespace CPRNIMS.WebApps.Controllers.Inventory
{
public class InventoryReportsController : Controller
{
private readonly IInventoryReports _reports;
public InventoryReportsController(IInventoryReports reports)
{
_reports=reports;
}
[HttpGet]
public async Task<IActionResult> GetInventoryReport(DateTime dateFrom, DateTime dateTo, CancellationToken ct)
{
var response = await _reports.GetInventoryReportAsync(dateFrom, dateTo, ct);
return GetResponse(response);
}
[HttpGet]
public async Task<IActionResult> GetRISReport(DateTime dateFrom, DateTime dateTo, CancellationToken ct)
{
var response = await _reports.GetRISReportAsync(dateFrom, dateTo, ct);
return GetResponse(response);
}
[HttpGet]
public async Task<IActionResult> GetMRSReport(DateTime dateFrom, DateTime dateTo, CancellationToken ct)
{
var response = await _reports.GetMRSReportAsync(dateFrom, dateTo, ct);
return GetResponse(response);
}
protected IActionResult GetResponse<T>(T response)
{
return Json(new
{
success = response != null,
data = response ?? Activator.CreateInstance<T>()
});
}
}
}