Example #1
0
        private void ClosePatient(MainWindow mainWindow, MainViewModel mainViewModel, int tabId = 0)
        {

            TabControl tabControl = mainWindow.mainPanel.Children[0] as TabControl;
            TabItem itemToClose = null;
            foreach (var item in tabControl.Items)
            {
                var tabItem = item as TabItem;
                if (tabId != 0)
                {
                    if (tabId == (int)tabItem.Tag)
                    {
                        itemToClose = tabItem;
                        break;
                    }
                }
                else if (tabItem.IsFocused)
                {
                    itemToClose = tabItem;
                    break;
                }
            }
            if (itemToClose != null)
            {
                tabControl.Items.Remove(itemToClose);
                mainViewModel.TotalPatientInWorkSpace--;
            }
        }
Example #2
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            try
            {
                // open the Users screen
                MainWindow mainWindow = new MainWindow();
                MainViewModel mainviewModel = new MainViewModel();
                PatientListView patientView = null;

                string themeName = "Green";//default theme
                if (System.IO.File.Exists(APP_SETTING_PATH))
                {
                    var applicationThemeSetting = File.ReadAllText("PatientCARE_TEST_THEME.txt");
                    applicationThemeSetting = applicationThemeSetting.Replace(System.Environment.NewLine, "");
                    var listTheme = new string[] { "White", "Green", "Red", "Blue" };
                    foreach (var item in listTheme)
                    {
                        if (applicationThemeSetting.ToUpper() == item.ToUpper())
                        {
                            themeName = item;
                            _settingTheme = themeName;
                            break;
                        }
                    }
                }
                // Loading theme
                LoadTheme(themeName);


                mainviewModel.ThemeChangeEvent += (changeTheme) => { LoadTheme(changeTheme); };
                mainviewModel.NewPateintEvent += (patientId) => { LoadPatient(patientId, mainWindow, mainviewModel); };
                mainviewModel.ClosePateintEvent += () => { ClosePatient(mainWindow, mainviewModel); };
                mainviewModel.ShowPateintListScreenAction += () =>
                {
                    try
                    {
                        // ensure only one view is loaded, and the same one remains open for multiple requests
                        patientView = patientView ?? new PatientListView();

                        if (!patientView.IsLoaded)
                        {
                            var patientListViewModel = new PatientListViewModel();
                            patientView.Close();
                            patientView = new PatientListView();
                            patientListViewModel.ClosePateintListScreenAction += () => { patientView.Close(); };
                            patientListViewModel.PatientSelectedAction += () =>
                            {
                                LoadPatient(patientListViewModel.SelectedPatient.PatientId, mainWindow, mainviewModel);
                                patientView.Close();
                            };
                            patientView.DataContext = patientListViewModel;
                        }

                        patientView.ShowDialog();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error");
                        Application.Current.Shutdown();
                    }
                };

                var loginView = new LoginView();

                var loginViewModel = new ViewModel.LoginViewModel();
                loginViewModel.LoginEvent += () =>
                {
                    loginView.Close();
                    TabControl addTabControl = new TabControl();
                    addTabControl.Name = "tcMain";
                    addTabControl.BorderThickness = new Thickness(0);
                   
                    mainWindow.mainPanel.Children.Add(addTabControl);
                    mainWindow.DataContext = mainviewModel;
                    mainWindow.Show();
                };
                loginViewModel.CancelLoginEvent += () => { App.Current.Shutdown(); };
                loginView.DataContext = loginViewModel;
                loginView.Closed += new EventHandler(loginView_Closed);
                loginView.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
                Application.Current.Shutdown();
            }
        }
Example #3
0
        private void LoadPatient(int patientId, MainWindow mainWindow, MainViewModel mainViewModel)
        {

            TabControl tabControl = mainWindow.mainPanel.Children[0] as TabControl;

            foreach (var item in tabControl.Items)
            {
                var tabItem = item as TabItem;
                var patientViewExist = tabItem.Content as PatientView;
                var PatientViewModel = patientViewExist.DataContext as PatientViewModel;
                if (PatientViewModel.PatientInfo.PatientId == patientId)
                {
                    tabItem.IsSelected = true;
                    return;
                }
            }

            PatientViewModel patientViewModel = new PatientViewModel(patientId);
            var patientView = new PatientView();


            var patientInTab = new TabItem();
            patientInTab.Header = patientId == 0 ? "Patient ID:NewId()" : "Patient ID:" + patientId.ToString();

            patientView.DataContext = patientViewModel;
            patientInTab.Content = patientView;
            tabControl.Items.Add(patientInTab);
            patientInTab.IsSelected = true;

            mainViewModel.TotalPatientInWorkSpace++;
            var tabId = mainViewModel.TotalPatientInWorkSpace;
            patientInTab.Tag = mainViewModel.TotalPatientInWorkSpace;

            patientViewModel.PatientInfo.SaveAndNextTabAction += () =>
            {
                var tabItem = (TabItem)patientView.tabPatient.Items[1];
                tabItem.IsEnabled = true;
                tabItem.Focus();
                tabItem.IsEnabled = false;
            };
            patientViewModel.PatientAddressInfo.SaveAndNextTabAction += () =>
            {
                var tabItem = (TabItem)patientView.tabPatient.Items[0];
                tabItem.IsEnabled = true;
                tabItem.Focus();
                tabItem.IsEnabled = false;
            };
            patientViewModel.PatientInfo.ShowDoctorScreen += () =>
            {
                LoadDoctorScreen(patientViewModel.PatientInfo.DoctorListViewModel);
            };
            patientViewModel.ClosePateintEvent += () =>
            {
                ClosePatient(mainWindow, mainViewModel, tabId);
            };

        }