private async Task OnStudentSearchChange(ChangeEventArgs e) { var search = e.Value?.ToString().ToLower(); if (search.Length > 2 && !searchingStudent) { searchingStudent = true; searchedStudents = await ProgramContext.SearchStudentByName(search, ProgrammeId); lastStudentSearch = search; } else if (search.Contains(lastStudentSearch) && searchingStudent) { searchedStudents = searchedStudents.Where(x => x.FirstName.ToLower().Contains(search) || x.LastName.ToLower().Contains(search)).ToList(); lastStudentSearch = search; } else { searchedStudents.Clear(); searchingStudent = false; lastStudentSearch = ""; } this.StateHasChanged(); }
private async Task SearchStudentByName(string name) { await ProgramContext.SearchStudentByName(name, ProgrammeId); }