123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- using System.Windows;
- using System.Windows.Controls;
- using vStation.Infrastructure;
- using vStation.Presentation.Exams;
- using vStation.Presentation.Login;
- using vStation.Presentation.Settings;
- using vStation.Presentation.Users;
- using vStation.ViewModel;
- using vStation.Presentation.TemplateTool;
- using System.IO;
- using System.Linq;
- using Vinno.IUS.Common.Utilities;
- using vStation.ViewModel.Report;
- using System.Runtime.Remoting.Channels.Ipc;
- using System.Runtime.Remoting.Channels;
- using System.Runtime.Remoting;
- using System;
- using Logger = vStation.Infrastructure.Logger;
- using vStation.Module.Exam;
- using vStation.Module.SystemSetting;
- using vStation.Model.Parameters;
- using vStation.Presentation.Statistics;
- using System.Diagnostics;
- using vStation.PipeLine;
- using System.Threading.Tasks;
- using System.Collections.Generic;
- using System.Windows.Forms;
- using UserControl = System.Windows.Controls.UserControl;
- using static System.Windows.Forms.VisualStyles.VisualStyleElement;
- using vStation.URMStationRelevant;
- namespace vStation.Presentation
- {
- /// <summary>
- /// MainToolBar.xaml 的交互逻辑
- /// </summary>
- public partial class MainToolBar : UserControl
- {
- private ManagerUserWindow _window;
- public MainToolBar()
- {
- InitializeComponent();
- Loaded += OnLoaded;
- }
- private void OnLoaded(object sender, RoutedEventArgs e)
- {
- ShowManagemenInBackend();
- if (URMConfig.PipeLineReady)
- {
- Logger.WriteLineInfo($"Pipe line is ready");
- }
- else {
- StudyAnalysis.IsEnabled = false;
- }
- URMConfig.PipeLineCreated += PipeLineCreated;
- }
- private void PipeLineCreated(object sender, EventArgs e)
- {
- Dispatcher.Invoke(() => {
- Logger.WriteLineInfo($"Pipe line created inable the study analysis");
- StudyAnalysis.IsEnabled = true;
- });
- }
- private void OnNewPatientClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open patient window");
- var window = new RecordWindow
- {
- Owner = AppManager.MainWindow
- };
- window.ShowDialog();
- }
- private void OnSwitchUserClick(object sender, RoutedEventArgs e)
- {
- var window = new LoginWindow()
- {
- Owner = AppManager.MainWindow
- };
- window.ShowDialog();
- var loginViewModel = window.DataContext as LoginViewModel;
- if (loginViewModel != null && loginViewModel.LoginSuccess)
- {
- }
- }
- private void OnChangePasswordClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open change password window");
- var window = new SetPasswordWindow()
- {
- Owner = AppManager.MainWindow
- };
- window.ShowDialog();
- }
- private void OnManagerUserClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open user manager window");
- if (_window == null)
- {
- _window = new ManagerUserWindow()
- {
- Owner = AppManager.MainWindow
- };
- _window.WindowState = WindowState.Maximized;
- _window.ShowDialog();
- }
- else {
- _window.WindowState = WindowState.Maximized;
- _window.Show();
- }
- }
- private void ShowManagemenInBackend()
- {
- _window = new ManagerUserWindow()
- {
- Owner = AppManager.MainWindow
- };
- _window.Visibility= Visibility.Hidden;
- _window.ShowDialog();
- }
- private void OnSystemSettingClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open system setting window");
- var window = new SettingsWindow()
- {
- Owner = AppManager.MainWindow
- };
- window.ShowDialog();
- }
- private void OnTemplateToolClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open diagnostic terms window");
- var window = new TemplateEditWindow()
- {
- Owner = AppManager.MainWindow,
- MinWidth = SystemParameters.MaximizedPrimaryScreenWidth * 0.9,
- MinHeight = SystemParameters.MaximizedPrimaryScreenHeight * 0.9,
- };
- window.ShowDialog();
- }
- private void OnDesignReportClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open report template designer window");
- string userdefinedReportTemplatesFolder = Path.Combine(AppManager.GlobalPath, "vStationReportTemplates");
- var templateReportDesignerPath = Path.GetDirectoryName(AppManager.RootPath);
- if (string.IsNullOrEmpty(templateReportDesignerPath))
- {
- return;
- }
- var reportTemplateDesignerExe =
- System.Diagnostics.Process.GetProcessesByName("ReportTemplateDesigner");
- if (reportTemplateDesignerExe.Any())
- {
- return;
- }
- var templateDesignerPath = Path.Combine(templateReportDesignerPath, "ReportTemplateDesigner.exe");
- if (File.Exists(templateDesignerPath))
- {
- ReportIconChanger iconChanger = new ReportIconChanger();
- var iconPath = Path.Combine(templateReportDesignerPath, "Icon.ico");
- iconChanger.ChangeIcon(templateDesignerPath, iconPath); //更换报告模板.exe的icon图标
- var p = new System.Diagnostics.Process();
- p.StartInfo.FileName = templateDesignerPath;
- p.StartInfo.Arguments = $"{'"' + userdefinedReportTemplatesFolder + '"'};{TranslateHelper.CurrentLanguage};{"vStation"};{'"' + templateReportDesignerPath + '"'};{"OtherVersions"}";
- p.Start();
- UserLogger.Write("Show report template designer window");
- }
- }
- private void OnDataBackupClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open Data Backup window");
- var window = new DataManagement.DataManagementWindow
- {
- Owner = AppManager.MainWindow,
- };
- window.ShowDialog();
- }
- private void OnUltrasonicStatisticsClick(object sender, RoutedEventArgs e)
- {
- UserLogger.Write("Open Ultrasonic statistics window");
- var window = new UltrasonicStatisticsWindow()
- {
- Owner = AppManager.MainWindow
- };
- window.ShowDialog();
- }
- public void TranslateMainToolBar()
- {
- NewPatientTextBlock.Text = TranslateHelper.Translate("NewPatient");
- DiagnoseTermTextBlock.Text = TranslateHelper.Translate("DiagnoseTerm");
- DesignReportTextBlock.Text = TranslateHelper.Translate("DesignReport");
- DataManagementTextBlock.Text = TranslateHelper.Translate("DataManagement");
- SettingTitleTextBlock.Text = TranslateHelper.Translate("SettingTitle");
- UserManagerTextBlock.Text = TranslateHelper.Translate("UserManager");
- SetPasswordTextBlock.Text = TranslateHelper.Translate("SetPassword");
- UltrasonicStatisticsTextBlock.Text = TranslateHelper.Translate("UltrasonicStatistics");
- }
- private void StudyAnalysis_Click(object sender, RoutedEventArgs e)
- {
- var targetMethodName = TargetMethodName.AutoLoginWithGivenAccount;
- PipeClientManager.SendMessage(targetMethodName, "");
- }
- }
- }
|