2024-11-27 14:24:59 +04:00
|
|
|
using Contracts.Mappers;
|
|
|
|
using Contracts.Repositories;
|
|
|
|
using Contracts.SearchModels;
|
|
|
|
using Contracts.Services;
|
|
|
|
using Contracts.ViewModels;
|
2024-12-01 23:49:16 +04:00
|
|
|
using Services.Support.Exceptions;
|
2024-11-27 14:24:59 +04:00
|
|
|
|
|
|
|
namespace Services.Reports;
|
|
|
|
|
|
|
|
public class ReportPeriodService : IReportPeriodService
|
|
|
|
{
|
|
|
|
private readonly IChangeRecordRepo _changeRecordRepo;
|
|
|
|
|
|
|
|
public ReportPeriodService(IChangeRecordRepo changeRecordRepo)
|
|
|
|
{
|
|
|
|
_changeRecordRepo = changeRecordRepo;
|
|
|
|
}
|
|
|
|
|
|
|
|
public async Task<IEnumerable<ChangeRecordViewModel>> GetReportData(DateTime from, DateTime to)
|
|
|
|
{
|
|
|
|
var records = await _changeRecordRepo.GetList(new ChangeRecordSearch() { From = from, To = to });
|
|
|
|
|
|
|
|
if (!records.Any())
|
|
|
|
{
|
|
|
|
throw new ReportDataNotFoundException("Нет данных за указанный период");
|
|
|
|
}
|
|
|
|
return records.Select(x => x.ToView()).ToList();
|
|
|
|
}
|
|
|
|
}
|