public async Task OnSearchProfessor()
        {
            if (String.IsNullOrEmpty(ProfessorSearch) || String.IsNullOrWhiteSpace(ProfessorSearch))
            {
                await _confirmationDialogHelper.ErrorWindowShow("Veuillez remplir le champ de recherche.");
            }
            else
            {
                var profdep = _departmentRepository.GetDepartments();
                Professors.Clear();
                if (firstNameOrLastName.IsMatch(ProfessorSearch))
                {
                    for (int i = 0; i < GetProfessors.Count; i++)
                    {
                        if (GetProfessors[i].FirstName.ToLower().Contains(ProfessorSearch.ToLower()) || GetProfessors[i].LastName.ToLower().Contains(ProfessorSearch.ToLower()))
                        {
                            Professors.Add(GetProfessors[i]);
                        }
                        else if (GetProfessors[i].Diplome.ToString() == ProfessorSearch)
                        {
                            Professors.Add(GetProfessors[i]);
                        }
                    }
                }
                else if (fullNameRx.IsMatch(ProfessorSearch))
                {
                    var word      = ProfessorSearch.Split(' ');
                    var countWord = word.Length;

                    foreach (var prof in GetProfessors)
                    {
                        int i        = 0;
                        var fullname = prof.FirstName + " " + prof.LastName;
                        do
                        {
                            if (fullname.ToLower().Contains((word[i]).ToLower()))
                            {
                                if (i == countWord - 1)
                                {
                                    Professors.Add(prof);
                                }
                                i++;
                            }
                            else
                            {
                                break;
                            }
                        } while (i < countWord);
                    }
                }
            }
        }
 protected override Task OnDeactivateAsync(bool close, CancellationToken cancellationToken)
 {
     Professors.Clear();
     return(base.OnDeactivateAsync(close, cancellationToken));
 }