diff --git a/AsbCloudApp/Data/ClusterDto.cs b/AsbCloudApp/Data/ClusterDto.cs index 17a182ce..6e8c58a0 100644 --- a/AsbCloudApp/Data/ClusterDto.cs +++ b/AsbCloudApp/Data/ClusterDto.cs @@ -6,25 +6,8 @@ namespace AsbCloudApp.Data /// /// DTO кустов /// - public class ClusterDto : IMapPoint, IId + public class ClusterDto : MapPointBaseDto { - /// - public int Id { get; set; } - - /// - /// Название - /// - public string Caption { get; set; } = null!; - - /// - public double? Latitude { get; set; } - - /// - public double? Longitude { get; set; } - - /// - public SimpleTimezoneDto? Timezone { get; set; } - /// /// ИД месторождения, необязательный /// @@ -40,5 +23,16 @@ namespace AsbCloudApp.Data /// public IEnumerable? Wells { get; set; } = null!; } + + /// + /// DTO кустов + /// + public class ClusterBranchDto : MapPointBaseDto + { + /// + /// Список скважин куста + /// + public IEnumerable? Wells { get; set; } = null!; + } #nullable disable } diff --git a/AsbCloudApp/Data/DepositDto.cs b/AsbCloudApp/Data/DepositDto.cs index d15c2048..1e450441 100644 --- a/AsbCloudApp/Data/DepositDto.cs +++ b/AsbCloudApp/Data/DepositDto.cs @@ -5,34 +5,29 @@ namespace AsbCloudApp.Data /// /// DTO Месторождения /// - public class DepositBaseDto : IMapPoint, IId + public class DepositBaseDto : MapPointBaseDto { - /// - public int Id { get; set; } - - /// - /// Название - /// - public string Caption { get; set; } - - /// - public double? Latitude { get; set; } - - /// - public double? Longitude { get; set; } - - /// - public SimpleTimezoneDto Timezone { get; set; } } /// /// DTO Месторождения с кустами /// - public class DepositDto : DepositBaseDto + public class DepositDto : MapPointBaseDto { /// /// Кусты месторождения /// public IEnumerable Clusters { get; set; } } + + /// + /// DTO Месторождения с кустами + /// + public class DepositBranchDto : MapPointBaseDto + { + /// + /// Кусты месторождения + /// + public IEnumerable Clusters { get; set; } + } } diff --git a/AsbCloudApp/Data/MapPointBaseDto.cs b/AsbCloudApp/Data/MapPointBaseDto.cs new file mode 100644 index 00000000..f23f0299 --- /dev/null +++ b/AsbCloudApp/Data/MapPointBaseDto.cs @@ -0,0 +1,25 @@ +namespace AsbCloudApp.Data +{ + /// + /// Точка на карте с названием + /// + public class MapPointBaseDto : IMapPoint, IId + { + /// + public int Id { get; set; } + + /// + /// Название + /// + public string Caption { get; set; } + + /// + public double? Latitude { get; set; } + + /// + public double? Longitude { get; set; } + + /// + public SimpleTimezoneDto Timezone { get; set; } + } +} diff --git a/AsbCloudApp/Data/WellMapInfoDto.cs b/AsbCloudApp/Data/WellMapInfoDto.cs new file mode 100644 index 00000000..967afcca --- /dev/null +++ b/AsbCloudApp/Data/WellMapInfoDto.cs @@ -0,0 +1,52 @@ +using System; + +namespace AsbCloudApp.Data +{ + /// + /// Инфо о скважине для отображения на карте + /// + public class WellMapInfoDto: MapPointBaseDto + { + /// + /// 0 - неизвестно, + /// 1 - в работе, + /// 2 - завершена + /// + public int IdState { get; set; } + + /// + /// Дата/время кода приходили данные последний раз + /// + public DateTime LastTelemetryDate { get; set; } + + /// + /// Плановая и текущая глубина + /// + public PlanFactDto WellDepth { get; set; } + + /// + /// Отставание от ГГД, % + /// + public double TvdLagPercent { get; set; } + + /// + /// Механическая скорость проходки, последней операции бурения + /// + public PlanFactDto ROP { get; set; } + + /// + /// Рейсовая скорость проходки, последнего рейса + /// + public PlanFactDto RaceSpeed { get; set; } + + /// + /// Процент использования АКБ + /// + public double SaubUsage { get; set; } + + /// + /// Процент использования Спин мастера + /// + public double SpinUsage { get; set; } + } +}