8879776 new dtos

This commit is contained in:
ngfrolov 2023-02-07 16:20:36 +05:00
parent d9279a7703
commit f7afa8638e
Signed by untrusted user who does not match committer: ng.frolov
GPG Key ID: E99907A0357B29A7
4 changed files with 102 additions and 36 deletions

View File

@ -6,25 +6,8 @@ namespace AsbCloudApp.Data
/// <summary>
/// DTO кустов
/// </summary>
public class ClusterDto : IMapPoint, IId
public class ClusterDto : MapPointBaseDto
{
/// <inheritdoc/>
public int Id { get; set; }
/// <summary>
/// Название
/// </summary>
public string Caption { get; set; } = null!;
/// <inheritdoc/>
public double? Latitude { get; set; }
/// <inheritdoc/>
public double? Longitude { get; set; }
/// <inheritdoc/>
public SimpleTimezoneDto? Timezone { get; set; }
/// <summary>
/// ИД месторождения, необязательный
/// </summary>
@ -40,5 +23,16 @@ namespace AsbCloudApp.Data
/// </summary>
public IEnumerable<WellDto>? Wells { get; set; } = null!;
}
/// <summary>
/// DTO кустов
/// </summary>
public class ClusterBranchDto : MapPointBaseDto
{
/// <summary>
/// Список скважин куста
/// </summary>
public IEnumerable<WellMapInfoDto>? Wells { get; set; } = null!;
}
#nullable disable
}

View File

@ -5,34 +5,29 @@ namespace AsbCloudApp.Data
/// <summary>
/// DTO Месторождения
/// </summary>
public class DepositBaseDto : IMapPoint, IId
public class DepositBaseDto : MapPointBaseDto
{
/// <inheritdoc/>
public int Id { get; set; }
/// <summary>
/// Название
/// </summary>
public string Caption { get; set; }
/// <inheritdoc/>
public double? Latitude { get; set; }
/// <inheritdoc/>
public double? Longitude { get; set; }
/// <inheritdoc/>
public SimpleTimezoneDto Timezone { get; set; }
}
/// <summary>
/// DTO Месторождения с кустами
/// </summary>
public class DepositDto : DepositBaseDto
public class DepositDto : MapPointBaseDto
{
/// <summary>
/// Кусты месторождения
/// </summary>
public IEnumerable<ClusterDto> Clusters { get; set; }
}
/// <summary>
/// DTO Месторождения с кустами
/// </summary>
public class DepositBranchDto : MapPointBaseDto
{
/// <summary>
/// Кусты месторождения
/// </summary>
public IEnumerable<ClusterBranchDto> Clusters { get; set; }
}
}

View File

@ -0,0 +1,25 @@
namespace AsbCloudApp.Data
{
/// <summary>
/// Точка на карте с названием
/// </summary>
public class MapPointBaseDto : IMapPoint, IId
{
/// <inheritdoc/>
public int Id { get; set; }
/// <summary>
/// Название
/// </summary>
public string Caption { get; set; }
/// <inheritdoc/>
public double? Latitude { get; set; }
/// <inheritdoc/>
public double? Longitude { get; set; }
/// <inheritdoc/>
public SimpleTimezoneDto Timezone { get; set; }
}
}

View File

@ -0,0 +1,52 @@
using System;
namespace AsbCloudApp.Data
{
/// <summary>
/// Инфо о скважине для отображения на карте
/// </summary>
public class WellMapInfoDto: MapPointBaseDto
{
/// <summary>
/// 0 - неизвестно,
/// 1 - в работе,
/// 2 - завершена
/// </summary>
public int IdState { get; set; }
/// <summary>
/// Дата/время кода приходили данные последний раз
/// </summary>
public DateTime LastTelemetryDate { get; set; }
/// <summary>
/// Плановая и текущая глубина
/// </summary>
public PlanFactDto WellDepth { get; set; }
/// <summary>
/// Отставание от ГГД, %
/// </summary>
public double TvdLagPercent { get; set; }
/// <summary>
/// Механическая скорость проходки, последней операции бурения
/// </summary>
public PlanFactDto ROP { get; set; }
/// <summary>
/// Рейсовая скорость проходки, последнего рейса
/// </summary>
public PlanFactDto RaceSpeed { get; set; }
/// <summary>
/// Процент использования АКБ
/// </summary>
public double SaubUsage { get; set; }
/// <summary>
/// Процент использования Спин мастера
/// </summary>
public double SpinUsage { get; set; }
}
}