У меня есть отчет, содержащий около 5 полей для ввода данных или выбора элементов из раскрывающегося списка. Обычно у меня есть класс контроллера, который проверяет ввод и определяет, какой метод DAO использовать. Однако с большим количеством полей ввода или выбора это означает, что это приведет к раздутому методу контроллера. Другой вариант - создать запрос из ввода, но я думаю, что он делает запросы трудными для чтения/отладки. Есть ли альтернативы или какой из них лучше? Я не знаю, как реализовать оба, я сосредоточен на дизайне.Подтверждение ввода отчета
EDIT:
Пример в C# с использованием структуры Сущности и Linq:
Должен ли стать & & ((STARTDATE = DateTime.MinValue) d.MinDay> = STARTDATE:? Истина) или это плохая практика?
List<Order> orderList = (from o in dbContext.Order
join d in dbContext.DeliveryDetails on o.DeliveryID equals d.DeliveryID
join od in dbContext.OrderDeals on o.OrderID equals od.OrderID
where o.UserID == user.UserID
&& ((startDate != DateTime.MinValue) ? d.MinDay>=startDate : true)
&& ((endDate != DateTime.MinValue) ? d.MaxDay<=endDate : true)
select o).Distinct().ToList();
return orderList;