domBudg/back/Services/Reports/ReportPeriodService.cs

30 lines
873 B
C#
Raw Normal View History

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