forked from ddrilling/AsbCloudServer
doc all dtos.
This commit is contained in:
parent
1e7f5fe654
commit
570cec4162
@ -5,16 +5,12 @@ namespace AsbCloudApp.Data
|
||||
/// <summary>
|
||||
/// Автоматически определяемая операция
|
||||
/// </summary>
|
||||
public class DetectedOperationDto
|
||||
public class DetectedOperationDto : IId, IWellRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// Id в БД
|
||||
/// </summary>
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id скважины
|
||||
/// </summary>
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -5,16 +5,12 @@ namespace AsbCloudApp.Data
|
||||
/// <summary>
|
||||
/// Ïàðàìåòðû êîðèäîðîâ áóðåíèÿ (äèàïàçîíû ïàðàìåòðîâ áóðåíèÿ)
|
||||
/// </summary>
|
||||
public class DrillFlowChartDto : IId
|
||||
public class DrillFlowChartDto : IId, IWellRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id ñêâàæèíû
|
||||
/// </summary>
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -1,45 +1,105 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class DrillParamsDto : IId
|
||||
|
||||
/// <summary>
|
||||
/// DTO ïàðàìåòðîâ áóðåíèÿ
|
||||
/// </summary>
|
||||
public class DrillParamsDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Ãëóáèíà íà÷àëà èíòåðâàëà äëÿ ýòèõ ïàðàìåòðîâ
|
||||
/// </summary>
|
||||
public double DepthStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Ãëóáèíà îêîí÷àíèÿ èíòåðâàëà äëÿ ýòèõ ïàðàìåòðîâ
|
||||
/// </summary>
|
||||
public double DepthEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id well section type.
|
||||
/// </summary>
|
||||
public int IdWellSectionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// axial load min.
|
||||
/// </summary>
|
||||
public double AxialLoadMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// axial load avg.
|
||||
/// </summary>
|
||||
public double AxialLoadAvg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// axial load max.
|
||||
/// </summary>
|
||||
public double AxialLoadMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// pressure min.
|
||||
/// </summary>
|
||||
public double PressureMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// pressure avg.
|
||||
/// </summary>
|
||||
public double PressureAvg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// pressure max.
|
||||
/// </summary>
|
||||
public double PressureMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor torque min.
|
||||
/// </summary>
|
||||
public double RotorTorqueMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor torque avg.
|
||||
/// </summary>
|
||||
public double RotorTorqueAvg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor torque max.
|
||||
/// </summary>
|
||||
public double RotorTorqueMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor speed min.
|
||||
/// </summary>
|
||||
public double RotorSpeedMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor speed avg.
|
||||
/// </summary>
|
||||
public double RotorSpeedAvg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rotor speed max.
|
||||
/// </summary>
|
||||
public double RotorSpeedMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// flow min.
|
||||
/// </summary>
|
||||
public double FlowMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// flow avg.
|
||||
/// </summary>
|
||||
public double FlowAvg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// flow max.
|
||||
/// </summary>
|
||||
public double FlowMax { get; set; }
|
||||
}
|
||||
}
|
@ -2,6 +2,9 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO состояния формирования программы бурения
|
||||
/// </summary>
|
||||
public class DrillingProgramStateDto
|
||||
{
|
||||
/// <summary>
|
||||
@ -11,15 +14,41 @@ namespace AsbCloudApp.Data
|
||||
/// 3 - готова
|
||||
/// </summary>
|
||||
public int IdState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Ошибка при формировании
|
||||
/// </summary>
|
||||
public DrillingProgramCreateError Error { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Файл сформированной программы бурения
|
||||
/// </summary>
|
||||
public FileInfoDto Program { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Разрешение редактировать части программы бурения
|
||||
/// </summary>
|
||||
public bool PermissionToEdit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Список частей программы бурения
|
||||
/// </summary>
|
||||
public IEnumerable<DrillingProgramPartDto> Parts { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DTO ошибки при создании программы бурения
|
||||
/// </summary>
|
||||
public class DrillingProgramCreateError
|
||||
{
|
||||
/// <summary>
|
||||
/// Текст ошибки для отображения пользователю
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Текст ошибки для разработчика
|
||||
/// </summary>
|
||||
public string Exception { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,21 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO категории файла
|
||||
/// </summary>
|
||||
public class FileCategoryDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// полное название
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// сокращенное название
|
||||
/// </summary>
|
||||
public string ShortName { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,17 +3,55 @@ using System.Collections.Generic;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class FileInfoDto : IId
|
||||
/// <summary>
|
||||
/// DTO информации о файле. Используется для загрузки файла.
|
||||
/// </summary>
|
||||
public class FileInfoDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id категории файла
|
||||
/// </summary>
|
||||
public int IdCategory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id автора
|
||||
/// </summary>
|
||||
public int? IdAuthor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// имя файла
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дата загрузки
|
||||
/// </summary>
|
||||
public DateTime UploadDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// размер в байтах
|
||||
/// </summary>
|
||||
public long Size { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// инфо о публикации файла на гугл диске
|
||||
/// </summary>
|
||||
public FilePublishInfoDto PublishInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DTO автора
|
||||
/// </summary>
|
||||
public UserDto Author { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// список отметок файла
|
||||
/// </summary>
|
||||
public IEnumerable<FileMarkDto> FileMarks { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,22 +2,41 @@ using System;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class FileMarkDto
|
||||
/// <summary>
|
||||
/// Отметка для файла
|
||||
/// </summary>
|
||||
public class FileMarkDto: IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id файла
|
||||
/// </summary>
|
||||
public int IdFile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 0 - отклонен
|
||||
/// 1 - согласован
|
||||
/// </summary>
|
||||
public int IdMarkType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дата/время добавления.
|
||||
/// Необязательно указывать в запросе на создание.
|
||||
/// </summary>
|
||||
public DateTime DateCreated { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Полезный комментарий
|
||||
/// </summary>
|
||||
public string Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// признак удаления отметки
|
||||
/// </summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Пользователь создающий отметку.
|
||||
/// Необязательно указывать в запросе на создание.
|
||||
|
@ -2,10 +2,24 @@ using System;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// инфо о файле на гугл диске
|
||||
/// </summary>
|
||||
public class FilePublishInfoDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Логин пользователя выложившего файл на диск
|
||||
/// </summary>
|
||||
public string PublisherLogin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дата публикации
|
||||
/// </summary>
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ссылка для скачивания
|
||||
/// </summary>
|
||||
public string WebStorageFileUrl { get; set; }
|
||||
}
|
||||
}
|
@ -3,15 +3,21 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Интерфейс записи данных телеметрии
|
||||
/// Telemetry related dto
|
||||
/// </summary>
|
||||
public interface ITelemetryData
|
||||
public interface ITelemetryRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// ИД телеметрии
|
||||
/// </summary>
|
||||
int IdTelemetry { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Интерфейс записи данных телеметрии
|
||||
/// </summary>
|
||||
public interface ITelemetryData: ITelemetryRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// Отметка времени для этой записи
|
||||
/// </summary>
|
||||
|
13
AsbCloudApp/Data/IWellRelated.cs
Normal file
13
AsbCloudApp/Data/IWellRelated.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Well related DTO
|
||||
/// </summary>
|
||||
public interface IWellRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// Well id in db
|
||||
/// </summary>
|
||||
public int IdWell { get; set; }
|
||||
}
|
||||
}
|
@ -3,18 +3,35 @@ using System.Collections.Generic;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class MeasureDto : IId
|
||||
/// <summary>
|
||||
/// инфо о результатах замера
|
||||
/// </summary>
|
||||
public class MeasureDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id категории замера
|
||||
/// </summary>
|
||||
public int IdCategory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название категории замера
|
||||
/// </summary>
|
||||
public string CategoryName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// отметка времени замера
|
||||
/// </summary>
|
||||
public DateTime Timestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// данные замера
|
||||
/// </summary>
|
||||
public Dictionary<string, object> Data { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -7,16 +7,32 @@ namespace AsbCloudApp.Data
|
||||
/// </summary>
|
||||
public class MessageDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дата появления события
|
||||
/// </summary>
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// категория события
|
||||
/// </summary>
|
||||
public int CategoryId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// глубина забоя, при котором событие возникло
|
||||
/// </summary>
|
||||
public double WellDepth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// пользователь панели оператора
|
||||
/// </summary>
|
||||
public string User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// текст сообщения
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -8,11 +8,18 @@ namespace AsbCloudApp.Data
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public class PaginationContainer<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// конструктор
|
||||
/// </summary>
|
||||
public PaginationContainer()
|
||||
{
|
||||
Items = new List<T>(4);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// конструктор
|
||||
/// </summary>
|
||||
/// <param name="capacity"></param>
|
||||
public PaginationContainer(int capacity)
|
||||
{
|
||||
Items = new List<T>(capacity);
|
||||
|
@ -1,9 +1,22 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Разрешение для группы пользователей сделать что-либо через web-api. <br/>
|
||||
/// применяется как возможность доступа к Endpoint. <br/>
|
||||
/// </summary>
|
||||
public class PermissionDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Название
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
}
|
||||
}
|
@ -1,8 +1,19 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO объединяющее плановые и фактические значения
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public class PlanFactBase<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// Плановое значение
|
||||
/// </summary>
|
||||
public T Plan { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Фактическое значение
|
||||
/// </summary>
|
||||
public T Fact { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,19 @@
|
||||
/// </summary>
|
||||
public class PlanFactPredictBase<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// плановое значение
|
||||
/// </summary>
|
||||
public T Plan { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// фактическое значение
|
||||
/// </summary>
|
||||
public T Fact { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// предсказанное значение
|
||||
/// </summary>
|
||||
public T Predict { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,28 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO прогресса генерации рапорта-диаграммы
|
||||
/// </summary>
|
||||
public class ReportProgressDto
|
||||
{
|
||||
/// <summary>
|
||||
/// прогресс 0 - 100%
|
||||
/// </summary>
|
||||
public float Progress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название текущей операции генерации
|
||||
/// </summary>
|
||||
public string Operation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// номер текущей страницы
|
||||
/// </summary>
|
||||
public int CurrentPage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// предполагаемое суммарное количество страниц
|
||||
/// </summary>
|
||||
public int TotalPages { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,16 +2,50 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class ReportPropertiesDto : IId
|
||||
/// <summary>
|
||||
/// DTO формирования рапорта
|
||||
/// </summary>
|
||||
public class ReportPropertiesDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public FileInfoDto File { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="FileInfoDto"/>
|
||||
/// </summary>
|
||||
public FileInfoDto File { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Дата формирования
|
||||
/// </summary>
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Дата начала рапорта
|
||||
/// </summary>
|
||||
public DateTime Begin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Дата окончания рапорта
|
||||
/// </summary>
|
||||
public DateTime End { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// шаг между точками диаграммы
|
||||
/// </summary>
|
||||
public int Step { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// формат файла
|
||||
/// </summary>
|
||||
public string Format { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,18 +2,64 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO журнала запросов
|
||||
/// </summary>
|
||||
public class RequestLogDto
|
||||
{
|
||||
/// <summary>
|
||||
/// логин пользователя
|
||||
/// </summary>
|
||||
public string UserLogin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id пользователя
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IP адрес пользователя
|
||||
/// </summary>
|
||||
public string UserIp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// метод запроса (GET, POST,..)
|
||||
/// </summary>
|
||||
public string RequestMethod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// url
|
||||
/// </summary>
|
||||
public string RequestPath { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Referer
|
||||
/// </summary>
|
||||
public string Referer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// продолжительность выполнения
|
||||
/// </summary>
|
||||
public long ElapsedMilliseconds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// http status [200 - Ok, ...]
|
||||
/// </summary>
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// сообщение об ошибке, если она произошла
|
||||
/// </summary>
|
||||
public string ExceptionMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// метка времени запроса
|
||||
/// </summary>
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// стек вызовов
|
||||
/// </summary>
|
||||
public string ExceptionStack { get; set; }
|
||||
}
|
||||
}
|
@ -2,15 +2,49 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO статистики запросов по пользователю
|
||||
/// </summary>
|
||||
public class RequestLogUserDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Id пользователя
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// логин
|
||||
/// </summary>
|
||||
public string Login { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IP адрес пользователя
|
||||
/// </summary>
|
||||
public string Ip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// время выполнения запроса
|
||||
/// </summary>
|
||||
public long ElapsedMs { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// метка времени последнего запроса
|
||||
/// </summary>
|
||||
public DateTime LastDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// кол-во запросов
|
||||
/// </summary>
|
||||
public long Requests { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// кол-во ошибок
|
||||
/// </summary>
|
||||
public long Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DTO пользователя
|
||||
/// </summary>
|
||||
public UserDto User { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,38 @@
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
/// <summary>
|
||||
/// Описание шаблона события панели оператора
|
||||
/// </summary>
|
||||
public class EventDto : IId
|
||||
{
|
||||
/// <summary>
|
||||
/// id события
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// шаблон текста сообщения
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id категории события
|
||||
/// </summary>
|
||||
public int IdCategory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// переменная сервера обмена информацией с полевым оборудованием
|
||||
/// </summary>
|
||||
public string Tag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// тип определения наступления события
|
||||
/// </summary>
|
||||
public int EventType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// флаг, следует ли воспроизводить звук при наступлении события
|
||||
/// </summary>
|
||||
public int IdSound { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,38 @@
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO рекомендации уставок передаваемых на панель оператора
|
||||
/// </summary>
|
||||
public class SetpointInfoDto
|
||||
{
|
||||
/// <summary>
|
||||
/// отображаемое название уставки
|
||||
/// </summary>
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// настоящее название уставки (имя переменной в панели оператора)
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// единицы измерения
|
||||
/// </summary>
|
||||
public string Units { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// комментарий
|
||||
/// </summary>
|
||||
public string Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// макс. значение
|
||||
/// </summary>
|
||||
public double Max { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// мин значение
|
||||
/// </summary>
|
||||
public double Min { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,25 +3,55 @@ using System.Collections.Generic;
|
||||
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
public class SetpointsRequestDto : IId
|
||||
/// <summary>
|
||||
/// DTO запроса для предложения по изменению уставок на панели оператора
|
||||
/// </summary>
|
||||
public class SetpointsRequestDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id автора запроса
|
||||
/// </summary>
|
||||
public int IdAuthor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
|
||||
/// </summary>
|
||||
public int IdState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// отметка времени создания запроса
|
||||
/// </summary>
|
||||
public DateTime UploadDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// время в секундах актуальности этого запроса
|
||||
/// </summary>
|
||||
public int ObsolescenceSec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
|
||||
/// </summary>
|
||||
public Dictionary<string, double> Setpoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Комментарий для оператора панели
|
||||
/// </summary>
|
||||
public string Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DTO скважины
|
||||
/// </summary>
|
||||
public WellDto Well { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DTO автора
|
||||
/// </summary>
|
||||
public UserDto Author { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,14 @@ namespace AsbCloudApp.Data.SAUB
|
||||
/// </summary>
|
||||
public class TelemetryDataSaubDto : ITelemetryData
|
||||
{
|
||||
/// <summary>
|
||||
/// метка времени данных
|
||||
/// </summary>
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// метка времени данных (legacy)
|
||||
/// </summary>
|
||||
public DateTime Date // TODO: remove this legacy after all panels updated
|
||||
{
|
||||
get { return DateTime; }
|
||||
@ -97,44 +104,104 @@ namespace AsbCloudApp.Data.SAUB
|
||||
/// </summary>
|
||||
public float? PressureIdle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// действующее задание давления
|
||||
/// </summary>
|
||||
public float? PressureSp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// задание давления для роторного режима
|
||||
/// </summary>
|
||||
public float? PressureSpRotor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// задание давления для режима слайда
|
||||
/// </summary>
|
||||
public float? PressureSpSlide { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// задание давления для проработки
|
||||
/// </summary>
|
||||
public float? PressureSpDevelop { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение макс перепада давления
|
||||
/// </summary>
|
||||
public float? PressureDeltaLimitMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// осевая нагрузка
|
||||
/// </summary>
|
||||
public float? AxialLoad { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// задание осевой нагрузки
|
||||
/// </summary>
|
||||
public float? AxialLoadSp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение макс. осевой нагрузки
|
||||
/// </summary>
|
||||
public float? AxialLoadLimitMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Вес на крюке
|
||||
/// </summary>
|
||||
public float? HookWeight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Вес на крюке на х.х.
|
||||
/// </summary>
|
||||
public float? HookWeightIdle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение мин веса на крюке
|
||||
/// </summary>
|
||||
public float? HookWeightLimitMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение макс веса на крюке
|
||||
/// </summary>
|
||||
public float? HookWeightLimitMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// момент ротора
|
||||
/// </summary>
|
||||
public float? RotorTorque { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// момент ротора на х.х.
|
||||
/// </summary>
|
||||
public float? RotorTorqueIdle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// задание момента ротора
|
||||
/// </summary>
|
||||
public float? RotorTorqueSp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение момента ротора
|
||||
/// </summary>
|
||||
public float? RotorTorqueLimitMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// скорость ротора
|
||||
/// </summary>
|
||||
public float? RotorSpeed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// расход
|
||||
/// </summary>
|
||||
public float? Flow { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// расход на х.х.
|
||||
/// </summary>
|
||||
public float? FlowIdle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ограничение макс расхода
|
||||
/// </summary>
|
||||
public float? FlowDeltaLimitMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -147,6 +214,9 @@ namespace AsbCloudApp.Data.SAUB
|
||||
/// </summary>
|
||||
public short? MseState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MSE
|
||||
/// </summary>
|
||||
public float? Mse { get; set; }
|
||||
}
|
||||
}
|
@ -2,8 +2,10 @@
|
||||
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
#pragma warning disable CS1591 // Отсутствует комментарий XML для открытого видимого типа или члена
|
||||
public class TelemetryDataSpinDto : ITelemetryData
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int IdTelemetry { get; set; }
|
||||
public DateTime DateTime { get; set; }
|
||||
public DateTime Date // TODO: remove this legacy after all panels updated
|
||||
@ -75,4 +77,5 @@ namespace AsbCloudApp.Data.SAUB
|
||||
public short? State { get; set; }
|
||||
public float? BreakAngleLeft { get; set; }
|
||||
}
|
||||
#pragma warning restore CS1591 // Отсутствует комментарий XML для открытого видимого типа или члена
|
||||
}
|
||||
|
@ -2,18 +2,64 @@
|
||||
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
/// <summary>
|
||||
/// общая информация о панели оператора
|
||||
/// </summary>
|
||||
public class TelemetryInfoDto
|
||||
{
|
||||
/// <summary>
|
||||
/// дата начала бурения (заполнения данных на панели)
|
||||
/// </summary>
|
||||
public DateTime DrillingStartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// идентификатор временной зоны
|
||||
/// </summary>
|
||||
public string TimeZoneId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// смещение в часах относительно UTC
|
||||
/// </summary>
|
||||
public double TimeZoneOffsetTotalHours { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название скважины
|
||||
/// </summary>
|
||||
public string Well { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название куста
|
||||
/// </summary>
|
||||
public string Cluster { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название заказчика
|
||||
/// </summary>
|
||||
public string Customer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название месторождения
|
||||
/// </summary>
|
||||
public string Deposit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// версия ПО панели оператора
|
||||
/// </summary>
|
||||
public string HmiVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// версия ПО ПЛК САУБ
|
||||
/// </summary>
|
||||
public string SaubPlcVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// версия ПО ПЛК Спин мастер
|
||||
/// </summary>
|
||||
public string SpinPlcVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// комментарий
|
||||
/// </summary>
|
||||
public string Comment { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -7,14 +7,49 @@ namespace AsbCloudApp.Data.SAUB
|
||||
/// </summary>
|
||||
public class TelemetryMessageDto : IId
|
||||
{
|
||||
/// <summary>
|
||||
/// Id сообщения в базе панели оператора
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// отметка времени
|
||||
/// </summary>
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// глубина забоя
|
||||
/// </summary>
|
||||
public double WellDepth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id события которое генерировало это сообщение
|
||||
/// </summary>
|
||||
public int IdEvent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// идентификатор пользователя телеметрии
|
||||
/// </summary>
|
||||
public int? IdTelemetryUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// аргумент №0 для подстановки в шаблон сообщения
|
||||
/// </summary>
|
||||
public string Arg0 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// аргумент №1 для подстановки в шаблон сообщения
|
||||
/// </summary>
|
||||
public string Arg1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// аргумент №2 для подстановки в шаблон сообщения
|
||||
/// </summary>
|
||||
public string Arg2 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// аргумент №3 для подстановки в шаблон сообщения
|
||||
/// </summary>
|
||||
public string Arg3 { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,31 @@
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
/// <summary>
|
||||
/// Пользователь панели оператора
|
||||
/// </summary>
|
||||
public class TelemetryUserDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Фамилия
|
||||
/// </summary>
|
||||
public string Surname { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Отчество
|
||||
/// </summary>
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Уровень доступа
|
||||
/// </summary>
|
||||
public int Level { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,14 @@
|
||||
|
||||
namespace AsbCloudApp.Data.SAUB
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO телеметрии наработки талевого каната
|
||||
/// </summary>
|
||||
public class TelemetryWirelineRunOutDto
|
||||
{
|
||||
/// <summary>
|
||||
/// отметка времени
|
||||
/// </summary>
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -5,23 +5,19 @@ namespace AsbCloudApp.Data
|
||||
/// <summary>
|
||||
/// Описание данных графика работ
|
||||
/// </summary>
|
||||
public class ScheduleDto : IId
|
||||
public class ScheduleDto : IId, IWellRelated
|
||||
{
|
||||
/// <summary>
|
||||
/// Идентификатор в БД
|
||||
/// </summary>
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор бурильщика
|
||||
/// </summary>
|
||||
public int IdDriller { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор скважины
|
||||
/// </summary>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Начало смены
|
||||
/// </summary>
|
||||
|
@ -1,11 +1,26 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// временная зона
|
||||
/// </summary>
|
||||
public class SimpleTimezoneDto
|
||||
{
|
||||
/// <summary>
|
||||
/// смещение в часах относительно UTC
|
||||
/// </summary>
|
||||
public double Hours { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// идентификатор часовой зоны
|
||||
/// </summary>
|
||||
public string TimezoneId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// запрет на переопределение
|
||||
/// </summary>
|
||||
public bool IsOverride { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is SimpleTimezoneDto tTimeZone
|
||||
@ -16,6 +31,7 @@ namespace AsbCloudApp.Data
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override int GetHashCode()
|
||||
=> Hours.GetHashCode()
|
||||
| TimezoneId.GetHashCode()
|
||||
|
@ -2,10 +2,22 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO статистики скважин куста
|
||||
/// </summary>
|
||||
public class StatClusterDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название куста
|
||||
/// </summary>
|
||||
public string Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// список статистик скважин куста
|
||||
/// </summary>
|
||||
public IEnumerable<StatWellDto> StatsWells { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO статистики операций
|
||||
/// </summary>
|
||||
public class StatOperationsDto
|
||||
{
|
||||
/// <summary>
|
||||
|
@ -1,8 +1,16 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// План-факт статистики по операциям за секцию скважины
|
||||
/// </summary>
|
||||
public class StatSectionDto : PlanFactBase<StatOperationsDto>, IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название секции
|
||||
/// </summary>
|
||||
public string Caption { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,16 +3,52 @@ using System.Collections.Generic;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO статистики по операциям за скважину
|
||||
/// </summary>
|
||||
public class StatWellDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название
|
||||
/// </summary>
|
||||
public string Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// тип скважины
|
||||
/// </summary>
|
||||
public string WellType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ИД состояния скважины
|
||||
/// </summary>
|
||||
public int IdState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// текст состояния скважины
|
||||
/// </summary>
|
||||
public string State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дата прихода последней телеметрии
|
||||
/// </summary>
|
||||
public DateTime LastTelemetryDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Статистика по секциям
|
||||
/// </summary>
|
||||
public IEnumerable<StatSectionDto> Sections { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// статистика за всю скважину
|
||||
/// </summary>
|
||||
public PlanFactBase<StatOperationsDto> Total { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// компании участвующие в строительстве скважины
|
||||
/// </summary>
|
||||
public IEnumerable<CompanyDto> Companies { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,62 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// DTO пользователя платформы
|
||||
/// </summary>
|
||||
public class UserDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// логин
|
||||
/// </summary>
|
||||
public string Login { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Имя
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Фамилия
|
||||
/// </summary>
|
||||
public string Surname { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Отчество
|
||||
/// </summary>
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Email
|
||||
/// </summary>
|
||||
public string Email { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Phone
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Должность
|
||||
/// </summary>
|
||||
public string Position { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id компании
|
||||
/// </summary>
|
||||
public int? IdCompany { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id состояния пользователя
|
||||
/// </summary>
|
||||
public short? IdState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// DTO компании
|
||||
/// </summary>
|
||||
public CompanyDto Company { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,12 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class UserExtendedDto : UserDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Роли пользователя
|
||||
/// </summary>
|
||||
public IEnumerable<string> RoleNames { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,11 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class UserRegistrationDto : UserDto
|
||||
{
|
||||
/// <summary>
|
||||
/// пароль, используется только при регистрации.
|
||||
/// </summary>
|
||||
public string Password { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -3,14 +3,37 @@ using System.Text.Json.Serialization;
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// Роль пользователя платформы
|
||||
/// </summary>
|
||||
public class UserRoleDto : IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название
|
||||
/// </summary>
|
||||
public string Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id типа роли
|
||||
/// </summary>
|
||||
public int IdType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// список разрешений
|
||||
/// </summary>
|
||||
public IEnumerable<PermissionDto> Permissions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Включенные роли
|
||||
/// </summary>
|
||||
public virtual ICollection<UserRoleDto> Roles { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Пользователи в роли
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public virtual ICollection<UserDto> Users { get; set; }
|
||||
|
||||
|
@ -2,9 +2,17 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public class UserTokenDto : UserExtendedDto
|
||||
{
|
||||
/// <summary>
|
||||
/// все разрешения пользователя
|
||||
/// </summary>
|
||||
public IEnumerable<PermissionDto> Permissions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// bearer token (для работы с web-api)
|
||||
/// </summary>
|
||||
public string Token { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -5,14 +5,20 @@ namespace AsbCloudApp.Data.WITS
|
||||
/// <summary>
|
||||
/// This is base class for all WITS-0 records
|
||||
/// </summary>
|
||||
public abstract class RecordBaseDto : ITelemetryData
|
||||
public abstract class RecordBaseDto : IId, ITelemetryData
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdTelemetry { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public DateTime DateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// îòìåòêà âðåìåíè
|
||||
/// </summary>
|
||||
public int TimeStamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -1,11 +1,21 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class WellCompositeDto
|
||||
/// <summary>
|
||||
/// DTO элемент композитной скважины
|
||||
/// </summary>
|
||||
public class WellCompositeDto : IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id скважины входящей в композитную для этой
|
||||
/// </summary>
|
||||
public int IdWellSrc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id секции скважины входящей в композитную для этой
|
||||
/// </summary>
|
||||
public int IdWellSectionType { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,21 @@
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class WellOperationCategoryDto
|
||||
/// <summary>
|
||||
/// DTO категория операции
|
||||
/// </summary>
|
||||
public class WellOperationCategoryDto: IId
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// код операции
|
||||
/// </summary>
|
||||
public int Code { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -2,20 +2,40 @@
|
||||
|
||||
namespace AsbCloudApp.Data
|
||||
{
|
||||
public class WellOperationDto : IId
|
||||
/// <summary>
|
||||
/// Операции на скважине (заведенные пользователем)
|
||||
/// </summary>
|
||||
public class WellOperationDto : IId, IWellRelated
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int IdWell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id секции скважины
|
||||
/// </summary>
|
||||
public int IdWellSectionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название секции скважины
|
||||
/// </summary>
|
||||
public string WellSectionTypeName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// id категории операции
|
||||
/// </summary>
|
||||
public int IdCategory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// название категории операции
|
||||
/// </summary>
|
||||
public string CategoryName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// дополнительная информация по операции
|
||||
/// </summary>
|
||||
public string CategoryInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
@ -7,22 +7,40 @@ namespace AsbCloudApp.Exceptions
|
||||
/// </summary>
|
||||
public class ArgumentInvalidException : Exception
|
||||
{
|
||||
/// <summary>
|
||||
/// название аргумента
|
||||
/// </summary>
|
||||
public string ParamName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// конструктор
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
/// <param name="paramName"></param>
|
||||
public ArgumentInvalidException(string message, string paramName = default)
|
||||
: base(message)
|
||||
{
|
||||
ParamName = paramName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// преобразование в объект валидации
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public object ToValaidationErrorObject()
|
||||
=> MakeValidationError(ParamName, Message);
|
||||
|
||||
/// <summary>
|
||||
/// фабрика объекта валидации
|
||||
/// </summary>
|
||||
/// <param name="paramName"></param>
|
||||
/// <param name="errors"></param>
|
||||
/// <returns></returns>
|
||||
public static object MakeValidationError(string paramName, params string[] errors)
|
||||
=> new
|
||||
{
|
||||
name = paramName,
|
||||
errors = errors,
|
||||
errors,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -5,25 +5,78 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// The параметры бурения service.
|
||||
/// </summary>
|
||||
public interface IDrillParamsService : ICrudService<DrillParamsDto>
|
||||
{
|
||||
/// <summary>
|
||||
/// default параметры бурения
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="startDepth">The start depth.</param>
|
||||
/// <param name="endDepth">The end depth.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<DrillParamsDto> GetDefaultDrillParamsAsync(int idWell, double startDepth,
|
||||
double endDepth, CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Все за скважину
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<IEnumerable<DrillParamsDto>> GetAllAsync(int idWell,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Все скважину по композитной скважине
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<IEnumerable<DrillParamsDto>> GetCompositeAllAsync(int idWell,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Добавить
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="dto">The dto.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<int> InsertAsync(int idWell, DrillParamsDto dto,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Добавить несколько
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="dtos">The dtos.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<int> InsertRangeAsync(int idWell, IEnumerable<DrillParamsDto> dtos,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Редактировать
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="dtoId">The dto id.</param>
|
||||
/// <param name="dto">The dto.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<int> UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
|
||||
CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить старые и сохранить новые
|
||||
/// </summary>
|
||||
/// <param name="idWell">The id well.</param>
|
||||
/// <param name="dtos">The dtos.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<int> SaveAsync(int idWell, IEnumerable<DrillParamsDto> dtos, CancellationToken token = default);
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ namespace AsbCloudApp.Services
|
||||
/// </summary>
|
||||
/// <param name="from">старая (исходная)</param>
|
||||
/// <param name="to">новая</param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<int> MergeAsync(int from, int to, CancellationToken token);
|
||||
void SaveRequestDate(string uid, DateTimeOffset remoteDate);
|
||||
|
@ -6,12 +6,45 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudApp.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// The wits record repository.
|
||||
/// </summary>
|
||||
public interface IWitsRecordRepository<TDto>
|
||||
where TDto : ITelemetryData
|
||||
{
|
||||
/// <summary>
|
||||
/// Добавить новые данные
|
||||
/// </summary>
|
||||
/// <param name="idTelemetry">The id telemetry.</param>
|
||||
/// <param name="dtos">The dtos.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task SaveDataAsync(int idTelemetry, IEnumerable<TDto> dtos, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Получить данные по телеметрии за период
|
||||
/// </summary>
|
||||
/// <param name="idTelemetry"></param>
|
||||
/// <param name="begin"></param>
|
||||
/// <param name="end"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<TDto>> GetAsync(int idTelemetry, DateTime begin, DateTime end, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// получить массив из одной записи самой поздней по дате
|
||||
/// </summary>
|
||||
/// <param name="idTelemetry">The id telemetry.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<IEnumerable<TDto>> GetLastAsync(int idTelemetry, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// получить статистику по всему архиву: дата самой ранней записи, самой поздней и общее количество
|
||||
/// </summary>
|
||||
/// <param name="idTelemetry">The id telemetry.</param>
|
||||
/// <param name="token">The token.</param>
|
||||
/// <returns>A Task.</returns>
|
||||
Task<(DateTime begin, DateTime end, int count)?> GetStatAsync(int idTelemetry, CancellationToken token);
|
||||
}
|
||||
}
|
@ -32,4 +32,9 @@
|
||||
<ProjectReference Include="..\AsbCloudInfrastructure\AsbCloudInfrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"WSL": {
|
||||
"commandName": "WSL2",
|
||||
"distributionName": ""
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user