NonInventPurchasingSystem/CPRNIMS.WebApps/Controllers/Inventory/InventoryReportsController.cs

72 lines
2.8 KiB
C#

using CPRNIMS.Domain.Services.Account;
using CPRNIMS.Domain.UIContracts.Account;
using CPRNIMS.Domain.UIContracts.Inventory;
using CPRNIMS.Infrastructure.Dto.Inventory.Request;
using CPRNIMS.Infrastructure.Helper;
using CPRNIMS.WebApps.Controllers.Base;
using Microsoft.AspNetCore.Mvc;
using System.Drawing.Printing;
namespace CPRNIMS.WebApps.Controllers.Inventory
{
public class InventoryReportsController : BaseMethod
{
private readonly IInventoryReports _reports;
public InventoryReportsController(ErrorLogHelper errorMessageService,
IWebHostEnvironment webHostEnvironment, TokenHelper tokenHelper, IInventoryReports reports, IAccount account)
: base(errorMessageService, webHostEnvironment, tokenHelper, account) => _reports = reports;
[HttpGet]
public async Task<IActionResult> GetInventoryReport(
DateTime dateFrom, DateTime dateTo, string? department,int page = 1, int pageSize = 10, bool paginate = true, CancellationToken ct = default)
{
var dto = new InventoryReportsRequest
{
DateFrom = dateFrom,
DateTo = dateTo,
Department = department,
Page = page,
PageSize = pageSize,
Paginate = paginate
};
GetUser();
var response = await _reports.GetInventoryReportAsync(dto,ct);
return GetResponse(response);
}
[HttpGet]
public async Task<IActionResult> GetRISReport(
DateTime dateFrom, DateTime dateTo, string? department, int page = 1, int pageSize = 10, bool paginate = true, CancellationToken ct = default)
{
var dto = new InventoryReportsRequest
{
DateFrom = dateFrom,
DateTo = dateTo,
Department = department,
Page = page,
PageSize = pageSize,
Paginate = paginate
};
GetUser();
var response = await _reports.GetRISReportAsync(dto, ct);
return GetResponse(response);
}
[HttpGet]
public async Task<IActionResult> GetMRSReport(
DateTime dateFrom, DateTime dateTo, string? department, int page = 1, int pageSize = 10, bool paginate = true, CancellationToken ct = default)
{
var dto = new InventoryReportsRequest
{
DateFrom = dateFrom,
DateTo = dateTo,
Department = department,
Page = page,
PageSize = pageSize,
Paginate = paginate
};
GetUser();
var response = await _reports.GetMRSReportAsync(dto, ct);
return GetResponse(response);
}
}
}