private void load_Click(object sender, RoutedEventArgs e) { try { var dialog = new System.Windows.Forms.OpenFileDialog() { Filter = "Файлы (*.xml)|*.xml|Все файлы (*.*)|*.*" }; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { state = Entities.GameState.Load(dialog.FileName); SetDataContextToCells(); } } catch (Exception ex) { string message = ""; do { message += ex.Message + Environment.NewLine; ex = ex.InnerException; }while (ex != null); System.Windows.Forms.MessageBox.Show(message); } }
/// <summary> /// Загрузка окна /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_Loaded(object sender, RoutedEventArgs e) { CreateShelf(); CreateCards(); RegistryKey currentUser = Registry.CurrentUser; RegistryKey applicationKey = currentUser?.OpenSubKey("CreateYourDC"); string fileName = applicationKey?.GetValue("SaveFileName")?.ToString(); if (fileName != null) { state = Entities.GameState.Load(fileName); SetDataContextToCells(); } }
private void save_Click(object sender, RoutedEventArgs e) { try { var dialog = new System.Windows.Forms.SaveFileDialog() { Filter = "Файлы (*.xml)|*.xml|Файлы (*.json)|*.json|Все файлы (*.*)|*.*" }; // Выбор файла для сохранения if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { state = new Entities.GameState(); foreach (CardControl cell in cells) { if (cell.DataContext is Entities.Server) { state.Entities.Add(cell.DataContext as Entities.Server); } else if (cell.DataContext is Entities.Rack) { state.Entities.Add(cell.DataContext as Entities.Rack); } else if (cell.DataContext is Entities.KvmConsole) { state.Entities.Add(cell.DataContext as Entities.KvmConsole); } else if (cell.DataContext is Entities.NetworkSwitch) { state.Entities.Add(cell.DataContext as Entities.NetworkSwitch); } else if (cell.DataContext is Entities.Storage) { state.Entities.Add(cell.DataContext as Entities.Storage); } else { state.Entities.Add(new Entities.Server()); } } switch (dialog.FilterIndex) { case 1: // XML state.Save(dialog.FileName); break; case 2: // JSON //string json = System.Text.Json.JsonSerializer.Serialize(state); //System.IO.Flie.WriteAllText(dialog.FileName, json); break; default: break; } // Запись в реестр RegistryKey currentUserKey = Registry.CurrentUser; RegistryKey applicationKey = currentUserKey.CreateSubKey("CreateYourDC"); applicationKey.SetValue("SaveFileName", dialog.FileName); } } catch (Exception ex) { string message = ""; do { message += ex.Message + Environment.NewLine; ex = ex.InnerException; }while (ex != null); System.Windows.Forms.MessageBox.Show(ex.Message); } }