Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        /// <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();
            }
        }
Esempio n. 3
0
        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);
            }
        }