private async void OnSettingsSave(object obj) { if (IsDriveNew) { Drive d = SelectedFreeDrive; await Task.Run(() => { Settings settings = _mountService.LoadSettings(); settings.Args = GlobalArgs; settings.AddDrive(d); _mountService.SaveSettings(settings); _mountService.UpdateDrives(settings); }); UpdateObservableDrives(d); IsDriveNew = false; } else { CurrentPage = Page.Main; Drive d = SelectedDrive; await Task.Run(() => { Settings settings = _mountService.LoadSettings(); settings.Args = GlobalArgs; settings.AddDrives(GoldDrives.ToList()); _mountService.SaveSettings(settings); _mountService.UpdateDrives(settings); }); UpdateObservableDrives(d); CheckDriveStatusAsync(); } }
private async void OnSettingsSave(object obj) { if (SelectedDrive == null) { Message = "Invalid drive"; return; } SelectedDrive.Trim(); if (string.IsNullOrEmpty(SelectedDrive.Host)) { Message = "Server is required"; OnFocusRequested("SelectedDrive.Host"); return; } Regex hostRegex = new Regex(HostRegex); if (!hostRegex.Match(SelectedDrive.Host).Success && !hostRegex.Match(SelectedDrive.Host).Success) { Message = "Invalid server name"; OnFocusRequested("SelectedDrive.Host"); return; } await Task.Run(() => { Settings settings = _mountService.LoadSettings(); settings.AddDrive(SelectedDrive); _mountService.SaveSettings(settings); _mountService.UpdateDrives(settings); }); UpdateObservableDrives(); Message = ""; IsDriveNew = false; IsDriveEdit = false; }