| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- namespace HistoryView.ViewModels.Regions.SettingSubs;
- internal partial class OtherSettingsViewModel : ObservableObject
- {
- public OtherSettingsViewModel(LanguageLoader languageLoader, DatabaseCleaner databaseCleaner, MonitorHelper monitor, UserInformation user, IEventAggregator eventAggregator, HubSender sender, MessageBoxHelper messageBoxHelper)
- {
- this.Language = languageLoader;
- this.Monitor = monitor;
- this.eventAggregator = eventAggregator;
- this.UserInfo = user;
- this._sender = sender;
- this.DatabaseCleaner = databaseCleaner;
- this._messageBoxHelper = messageBoxHelper;
- }
- private readonly IEventAggregator eventAggregator;
- private readonly MessageBoxHelper _messageBoxHelper;
- private readonly HubSender _sender;
- [ObservableProperty]
- private DatabaseCleaner _DatabaseCleaner;
- [ObservableProperty]
- private MonitorHelper _Monitor;
- [ObservableProperty]
- private LanguageLoader _Language;
- [ObservableProperty]
- private UserInformation? _UserInfo;
- [RelayCommand]
- private void DisplaySelect(int para)
- {
- if (para == this.Monitor.SelectedDisplay)
- return;
- this.Monitor.SelectedDisplay = para;
- MainWindow.DefaultRegion = "Setting";
- if (BaseConfigFileLoader.Load(out BasicInfo? basicInfo) && basicInfo is not null)
- {
- basicInfo.SelectedDisplay = para;
- BaseConfigFileLoader.Save(basicInfo);
- }
- eventAggregator.GetEvent<WindowSwitch>().Page = Pages.MainWindow;
- eventAggregator.GetEvent<WindowSwitch>().Publish();
- }
- [RelayCommand]
- private async Task SwitchDataBase(string para)
- {
- if (this._sender is null)
- return;
- switch (para)
- {
- case "Reset":
- if (!_sender.FullyReset())
- {
- await _messageBoxHelper.ShowAsync("Failed");
- return;
- }
- await _messageBoxHelper.ShowAsync("Success");
- break;
- case "SwitchDataBase":
- if (!_sender.SwitchDataBase(out string? dbName) || string.IsNullOrEmpty(dbName))
- {
- await _messageBoxHelper.ShowAsync("Failed");
- return;
- }
- await _messageBoxHelper.ShowAsync($"Switch to new database - {dbName}");
- break;
- case "Delete":
- this._sender.ClearDataBase().Wait();
- break;
- case "Range":
- this._sender.UpdateDataBaseRange((int)DatabaseCleaner.KeepRange).Wait();
- break;
- default:
- break;
- }
- }
- [RelayCommand]
- private async Task MaintainMode(string para)
- {
- switch (para)
- {
- case "Enable":
- if (MessageBox.Show($"此模式下您仍可下发Mini8控温参数及修改配方,{Environment.NewLine}但Minics将不再接收来自 Furnace RT 的控温配方切换指令。{Environment.NewLine}重启软件后将自动复原。{Environment.NewLine}是否开启维护模式?", "维护模式", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
- return;
- await _sender.MaintainMode(true);
- break;
- case "Disable":
- if (MessageBox.Show($"关闭维护模式后,Minics将开始接收来自 Furnace RT的控温配方指令。{Environment.NewLine}是否关闭维护模式?", "维护模式", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
- return;
- await _sender.MaintainMode(false);
- break;
- default:
- break;
- }
- }
- }
|