public CategoriesListViewModel()
        {
            Messenger.Default.Register <NotificationMessage>(this, (message) =>
            {
                switch (message.Notification)
                {
                case "NewCategory":

                    SelectedCategory = new Category()
                    {
                        C_id = -1
                    };

                    break;
                }
            });
            Messenger.Default.Register <NotificationMessage>(this, (message) =>
            {
                switch (message.Notification)
                {
                case "DeleteCategory":
                    if (SelectedCategory != null)
                    {
                        var mres = MessageBox.Show("Supprimer Category", "Vous etes Sur ?", MessageBoxButton.YesNo,
                                                   MessageBoxImage.Warning);
                        if (mres == MessageBoxResult.Yes)
                        {
                            _dbContext.Categories.Remove(_dbContext.Categories.Find(SelectedCategory.C_id));
                            _dbContext.SaveChanges();
                            ListCategories = new ObservableCollection <Category>(_dbContext.Categories);
                        }
                    }
                    else
                    {
                        var mres = MessageBox.Show("Selectionner un category a supprimer ?", "Supprimer Category", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    break;
                }
            });
            SearchItems = new ObservableCollection <SearchItem>()
            {
                new SearchItem()
                {
                    IsSelected = true,
                    Name       = "Code"
                },
                new SearchItem()
                {
                    IsSelected = true,
                    Name       = "Intitule"
                },
                new SearchItem()
                {
                    IsSelected = true,
                    Name       = "Technology"
                }
            };
            foreach (var item in SearchItems)    //DirtyCode * Needs Optimisation
            {
                item.PropertyChanged += UpdateSearchTerms;
            }
            _dbContext                  = new ITCompTrainingDBEntities1();
            _worker.DoWork             += LoadCategories;
            _worker.RunWorkerCompleted += LoadCoursesCompleted;
            _worker.RunWorkerAsync();
        }