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 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 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 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); } } }