using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GroundOrganizer { [Serializable] public class Bore { /// /// Порядковый номер скважины /// public int Number { get; set; } /// /// Имя скважины /// public string Name { get; set; } /// /// Х-координата распложения скважины /// public double X { get; set; } /// /// Y-координата распложения скважины /// public double Y { get; set; } /// /// Абсолютная отметка устья скважины /// public double Z { get; set; } /// /// Относительная отметка уровня грунтовых вод /// public double? WL { get; set; } /// /// Превышение глубины сважины в расчетах осадки /// public double DZ { get; set; } /// /// Массив грунтовых слоев /// public ObservableCollection Layers { get; set; } public Bore() { Layers = new ObservableCollection(); } public void AddLayer(Layer layer) { if (Layers == null) Layers = new ObservableCollection(); Layers.Add(layer); } public void AddLayers(ObservableCollection layers) { Layers = layers; } public void AddLayers(List layers) { if (Layers == null) Layers = new ObservableCollection(); foreach (var item in layers) Layers.Add(item); } public void DeleteLayers() { Layers = new ObservableCollection(); } internal string PropsToString() { string s = ";"; return Number + s + Name + s + X + s + Y + s + Z + s + WL + s + DZ; } internal List PropsToList() { return new List { Number, Name, X, Y, Z, WL, DZ }; } internal void StringToProps(string line, char separator = ';') { string[] src = line.Split(separator); try { Number = Int32.Parse(src[0]); Name = src[1]; X = double.Parse(src[2]); Y = double.Parse(src[3]); Z = double.Parse(src[4]); WL = double.Parse(src[5]); DZ = double.Parse(src[6]); } catch { return; } } internal void ListToProps(List src) { try { Number = (int)(double)src[0]; Name = (string)src[1]; X = (double)src[2]; Y = (double)src[3]; Z = (double)src[4]; WL = (double)src[5]; DZ = (double)src[6]; } catch { return; } } } }