Я хочу впоследствии применить фильтры к моему поиску. Скажите: «если я даю 10K в качестве значения myFee, он должен показывать все предметы с тарифами 10K, однако, если после этого я даю год 2014, он должен показывать результаты, применяя одновременно плату и год ограничение
В настоящее время я получаю правильный результат, если я даю значения для обоих моих комбинированных списков одновременно (плата и год) [ИЗОБРАЖЕНИЕ НИЖЕ] https://imgur.com/a/dYpCeeP
Здесь мы вызываем GetStudentsByYearEFс параметрами, но если я попытаюсь оставить любой из входных нулей, он выдаст ошибку при передаче в качестве параметра.
string _readYear = _yearInputBox?.SelectedItem.ToString();
var _readFee = _feeInputBox?.SelectedItem.ToString();
var readfee = Convert.ToInt32(_readFee);
if (_readYear != string.Empty && readfee != null && readfee > 0)
{
var students = AcademyHelper.GetStudentsByYearEF(readfee, _readYear, this.dataGridView2, this, this.groupBox5);
this.dataGridView2.DataSource = students;
}
Определение GetStudentsByYearEF ()
public static IEnumerable<Student> GetStudentsByYearEF(int fee, string year, DataGridView dtg, Form form, GroupBox groupbox)
{
List<Student> searchedStudent = new List<Student>();
using (var retrive = new Models.Academy_MSDBEntities())
{
foreach (Control items in groupbox.Controls)
{
//removed .tolower() from here
if (items.Name.AcademyContains("_courseInputBox") || items.Name.AcademyContains("_feeInputBox"))
{
var query = retrive.Students
.Where(s => s.Year == year && s.Fees==fee).ToList();
searchedStudent.AddRange(query);
retrive.SaveChanges();
}
}
return searchedStudent;
}
}
Если хотите впоследствии применитьФильтры поиска. Однако, это относится к поиску сразу после нажатия кнопки поиска, но если я попытаюсь применить только ограничение комиссии к поиску и оставив поле Год пустым, я сразу выдаю исключение.