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