public MainViewModel() { initCharts(); DeleteUserCommand = new RelayCommand(DeleteUserMethod); NewUserCommand = new RelayCommand(NewUserMethod); NewObsCommand = new RelayCommand(NewObsMethod); DeletePatientCommand = new RelayCommand(DeletePatientMethod); NewPatientCommand = new RelayCommand(NewPatientMethod); DisconnectCommand = new RelayCommand(DisconnectMethod); RefreshPatientList = new RelayCommand(RefreshPatientListMethod); RefreshUserList = new RelayCommand(RefreshUserListMethod); _worker.DoWork += new DoWorkEventHandler((s, e) => { ListUsers = Users.GetAllUsers(); CurrUser = Users.GetUser(CurrUserLogin); SelectedUser = ListUsers.First(); FullListUser = new ObservableCollection <User>(ListUsers); setVisibility(CurrUserLogin); }); _worker.RunWorkerAsync(); _workerPatients.RunWorkerCompleted += new RunWorkerCompletedEventHandler((e, s) => { SelectedPatient = PatientList.Count > 0 ? PatientList.Last() : null; } ); _workerPatients.DoWork += new DoWorkEventHandler((s, e) => { PatientList = Patients.GetAllPatients(); FullListPatient = new ObservableCollection <Patient>(PatientList); }); _workerPatients.RunWorkerAsync(); _searchUserWorker.DoWork += new DoWorkEventHandler((e, s) => { DoWorkSearchUser(SearchBoxTextUser); }); _searchPatientWorker.DoWork += new DoWorkEventHandler((e, s) => { DoWorkSearchPatient(SearchBoxTextPatient); }); }