Добавьте файлы проекта.

This commit is contained in:
palex
2026-01-06 02:07:18 +03:00
parent 153b9675e3
commit 8e4b375e80
109 changed files with 10817 additions and 0 deletions

101
VM/ViewModel.cs Normal file
View File

@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Interop;
using System.Windows.Media.Imaging;
namespace GroundOrganizer
{
public partial class ViewModel : INotifyPropertyChanged
{
string title;
ToSerializ ser = new ToSerializ();
MainWindow MW;
//MainPage MP;
private string basePath;
public string BasePath { get => basePath; set { basePath = value; OnPropertyChanged(); } }
public ViewModel()
{
title = "GroundOrganizer";
MW = App.Current.MainWindow as MainWindow;
//MW.contentFrame.Content = MP;
MW.Title = title;
BasePath = Properties.Settings.Default.BasePath;
StructureNote = "к числу зданий и сооружений с жесткой конструктивной схемой относятся:" +
"\n- здания панельные, блочные и кирпичные, в которых междуэтажные" +
"\nперекрытия опираются по всему контуру на поперечные и продольные" +
"\nстены или только на поперечные несущие стены при малом их шаге;" +
"\n- сооружения типа башен, силосных корпусов, дымовых труб, домен и др.";
BoresNote = "* положительное значение отметки уровня грунтовых вод относительно устья скважины";
}
private RelayCommand openGroundBase;
public RelayCommand OpenGroundBase
{
get { return openGroundBase ?? (openGroundBase = new RelayCommand(obj => { ReadDB(); })); }
}
public string Title { get => title; set => title = value; }
string GetGroundBaseFile()
{
Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
ofd.DefaultExt = "*.*";
ofd.Filter = "База данных инженерно-геологических площадок (*.grndb)|*.grndb|Все файлы (*.*)|*.*";
ofd.Title = "Выбор файла с базой данных инженерно-геологических площадок";
ofd.ShowDialog();
return ofd.FileName;
}
internal void SaveDB()
{
//ser = new ToSerializ { PlayGroundList = ListPlayGround };
// создаем объект BinaryFormatter
BinaryFormatter formatter = new BinaryFormatter();
// получаем поток, куда будем записывать сериализованный объект
using (FileStream fs = new FileStream(Properties.Settings.Default.BasePath, FileMode.OpenOrCreate))
{
formatter.Serialize(fs, ListPlayGround);
}
//Alert("Введенные данные успешно сохранены");
}
internal void ReadDB()
{
Properties.Settings.Default.BasePath = GetGroundBaseFile();
Properties.Settings.Default.Save();
BasePath = Properties.Settings.Default.BasePath;
if (File.Exists(Properties.Settings.Default.BasePath) == true)
{
// создаем объект BinaryFormatter
BinaryFormatter formatter = new BinaryFormatter();
using (FileStream fs = new FileStream(Properties.Settings.Default.BasePath, FileMode.OpenOrCreate))
{
//ToSerializ ser = (ToSerializ)formatter.Deserialize(fs);
ListPlayGround = formatter.Deserialize(fs) as ObservableCollection<PlayGround>;
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName]string prop = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
}