public ResearcherVM()
        {
            researcherProvider = ControllerFactory.ResearcherProvider();
            pubProvider = ControllerFactory.PublicationProvider();

            researchers = View<researcher>(researcherProvider.Get().Take(LIST_MAX_PAGINATION));
            publications = View<publication>(new List<publication>());

            List<ViewCategory> lst = new List<ViewCategory>();
            lst.Add(new ViewCategory() { ID = 0, Name = "All" });
            lst.Add(new ViewCategory() { ID = 1, Name = "Staff only" });
            lst.Add(new ViewCategory() { ID = 2, Name = "Students only" });
            lst.Add(new ViewCategory() { ID = 3, Name = "A, Postdoc" });
            lst.Add(new ViewCategory() { ID = 4, Name = "B, Lecturer" });
            lst.Add(new ViewCategory() { ID = 5, Name = "C, Senior Lecturer" });
            lst.Add(new ViewCategory() { ID = 6, Name = "D, Associate Professor" });
            lst.Add(new ViewCategory() { ID = 7, Name = "E, Professor" });
            Categories = new ObservableCollection<ViewCategory>(lst);

            PublicationNotSelected = CumulativePublicationNotSelected = true;
            OnPropertyChanged("PublicationNotSelected");
        }
 public static IResearcherController ResearcherProvider()
 {
     if (reProvider == null) reProvider = new ResearchersController();
     return reProvider;
 }