Пишу тестовый веб-сайт, где пробую разные аспекты CQRS (сначала это была самопальная реализация cqrs, потом попробовал MediatR).
И вот что меня интересует. Насколько принято делать запросы составными, вызывая из одного запроса другой?
У меня вот есть два близких запроса:
построить отчёт за месяц
public class MonthReportQuery : IRequest<MonthReportDto>
{
public int Year { get; set; }
public int Month { get; set; }
}
построить отчёт за год
public class YearReportQuery : IRequest<YearReportDto>
{
public int Year { get; set; }
}
На выходе я получаю один и тот же набор данных отчёта, форма одинакова и различия только в шапке отчёта. Один раз требуется знать и месяц и год:
public class MonthReportDto
{
public int Year { get; set; }
public int Month { get; set; }
... (малозначительные подробности)
public IEnumerable<ReportItemDto> Report { get; set; }
}
а другой раз - только год:
public class YearReportDto
{
public int Year { get; set; }
... (малозначительные подробности)
public IEnumerable<ReportItemDto> Report { get; set; }
}
В каждом случае у меня абсолютно одинаковая логика собственно запроса, который черпает данные из базы и принимает на вход среди прочего период: DateTime startDate, DateTime endDate
Какие я вижу способы выстроить аккуратно структуру классов и поменьше дублировать код:
И вот сейчас я остановился на варианте с двумя запросами и базовым классом, но всё думаю, насколько жизнеспособен вариант с тремя запросами.
Возможно, в данном случае он не особо и подходит для ситуации, но может быть подобное вообще бывает нужно в приложениях построенных на базе cqrs? Сам я подобного не читал, поэтому не имею опыта.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня имеется база данных и мне надо отсортировать данные в нейЯ создал массив строк и хочу сравнить их с нужным столбцом в каждой строке...
Можно ли узнать с каким IP пользователь выходит в глобальную сеть? Использование сервисов не вариант потому, что например если он использует...
Дайте пожалуйста направление как загружать файлы с сервера при запуске игры, чтобы в будущем можно было добавлять/менять фон, музыку и тд