Files
GroundOrganizer/BL/Bore.cs
2026-01-06 02:07:18 +03:00

120 lines
3.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
{
/// <summary>
/// Порядковый номер скважины
/// </summary>
public int Number { get; set; }
/// <summary>
/// Имя скважины
/// </summary>
public string Name { get; set; }
/// <summary>
/// Х-координата распложения скважины
/// </summary>
public double X { get; set; }
/// <summary>
/// Y-координата распложения скважины
/// </summary>
public double Y { get; set; }
/// <summary>
/// Абсолютная отметка устья скважины
/// </summary>
public double Z { get; set; }
/// <summary>
/// Относительная отметка уровня грунтовых вод
/// </summary>
public double? WL { get; set; }
/// <summary>
/// Превышение глубины сважины в расчетах осадки
/// </summary>
public double DZ { get; set; }
/// <summary>
/// Массив грунтовых слоев
/// </summary>
public ObservableCollection<Layer> Layers { get; set; }
public Bore()
{
Layers = new ObservableCollection<Layer>();
}
public void AddLayer(Layer layer)
{
if (Layers == null) Layers = new ObservableCollection<Layer>();
Layers.Add(layer);
}
public void AddLayers(ObservableCollection<Layer> layers)
{
Layers = layers;
}
public void AddLayers(List<Layer> layers)
{
if (Layers == null) Layers = new ObservableCollection<Layer>();
foreach (var item in layers) Layers.Add(item);
}
public void DeleteLayers()
{
Layers = new ObservableCollection<Layer>();
}
internal string PropsToString()
{
string s = ";";
return Number + s + Name + s + X + s + Y + s + Z + s + WL + s + DZ;
}
internal List<object> PropsToList()
{
return new List<object> { 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<object> 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;
}
}
}
}