Linq динамически добавляет, где условия
У меня есть gridview, который имеет выпадающие окна в каждом заголовке для фильтрации. Каждый фильтр загружается с различными значениями из своего столбца при загрузке. Во время выполнения добавляюВСЕ" чтобы позволить пользователю выбрать все из этого поля. Я пытаюсь построить оператор linq динамически, чтобы игнорировать поле, если раскрывающийся список установлен на "ВСЕ", Это возможно? Я хочу посмотреть, смогу ли я сделать это в одном заявлении. В приведенном ниже примере показаны только 2 выпадающих списка, но в моем случае до 5.
Если я решу использовать операторы if then, я получу код спагетти.
DropDownList drpOwners = this.grdOtherQuotes.HeaderRow.FindControl("drpOwners") as DropDownList;
DropDownList drpCompanyName = this.grdOtherQuotes.HeaderRow.FindControl("drpCompanyName") as DropDownList;
var filteredList = (from x in allQuotes
where (drpOwners.SelectedValue != ALL) ? x.SalesRepFullName == drpOwners.SelectedValue:true
&& drpCompanyName.SelectedValue != ALL ? x.CompanyName == drpCompanyName.SelectedValue: true
select x);