30 lines
873 B
C#
30 lines
873 B
C#
|
using Contracts.Mappers;
|
||
|
using Contracts.Repositories;
|
||
|
using Contracts.SearchModels;
|
||
|
using Contracts.Services;
|
||
|
using Contracts.ViewModels;
|
||
|
using Services.Support;
|
||
|
|
||
|
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();
|
||
|
}
|
||
|
}
|