domBudg/back/Services/Reports/ReportPeriodService.cs

30 lines
914 B
C#
Raw Normal View History

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