forked from ddrilling/AsbCloudServer
Merge pull request 'Добавлен атрибут [Required] на non-nullable поля в dtos' (#194) from fix/dtos-add-required-attribute into dev
Reviewed-on: http://test.digitaldrilling.ru:8080/DDrilling/AsbCloudServer/pulls/194
This commit is contained in:
commit
7abb006ba6
@ -12,6 +12,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ИД месторождения, необязательный
|
/// ИД месторождения, необязательный
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
|
||||||
public int IdDeposit { get; set; }
|
public int IdDeposit { get; set; }
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -8,11 +10,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Макс. механическая скорость проходки по кусту
|
/// Макс. механическая скорость проходки по кусту
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double RopMax { get; set; }
|
public double RopMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Средняя механическая скорость проходки по кусту
|
/// Средняя механическая скорость проходки по кусту
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double RopAverage { get; set; }
|
public double RopAverage { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -23,6 +23,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ИД типа компании
|
/// ИД типа компании
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdCompanyType { get; set; }
|
public int IdCompanyType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTO тип компании
|
/// DTO тип компании
|
||||||
@ -6,21 +8,25 @@
|
|||||||
public class CompanyTypeDto : IId
|
public class CompanyTypeDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название типа компании
|
/// Название типа компании
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Caption { get; set; } = null!;
|
public string Caption { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Порядок
|
/// Порядок
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Order { get; set; }
|
public int Order { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Является ли контактом
|
/// Является ли контактом
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsContact { get; set; }
|
public bool IsContact { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DailyReport.Blocks;
|
namespace AsbCloudApp.Data.DailyReport.Blocks;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -8,11 +10,13 @@ public class ProcessMapWellDrillingRecordDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Режим бурения
|
/// Режим бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string DrillingMode { get; set; } = null!;
|
public string DrillingMode { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Мех. скорость
|
/// Мех. скорость
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanFactDto<double?> Rop { get; set; } = new();
|
public PlanFactDto<double?> Rop { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -23,5 +27,6 @@ public class ProcessMapWellDrillingRecordDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Часы бурения
|
/// Часы бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double MechDrillingHours { get; set; }
|
public double MechDrillingHours { get; set; }
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DailyReport.Blocks.Sign;
|
namespace AsbCloudApp.Data.DailyReport.Blocks.Sign;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -8,11 +10,13 @@ public class SignRecordDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Имя
|
/// Имя
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Фамилия
|
/// Фамилия
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Surname { get; set; } = null!;
|
public string Surname { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
|
namespace AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
|
||||||
@ -36,5 +37,6 @@ public class SubsystemBlockDto : ItemInfoDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Подсистемы
|
/// Подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<SubsystemRecordDto> Subsystems { get; set; } = Enumerable.Empty<SubsystemRecordDto>();
|
public IEnumerable<SubsystemRecordDto> Subsystems { get; set; } = Enumerable.Empty<SubsystemRecordDto>();
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
|
namespace AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -8,6 +10,7 @@ public class SubsystemRecordDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название подсистемы
|
/// Название подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using AsbCloudApp.Data.DailyReport.Blocks;
|
using AsbCloudApp.Data.DailyReport.Blocks;
|
||||||
using AsbCloudApp.Data.DailyReport.Blocks.Sign;
|
using AsbCloudApp.Data.DailyReport.Blocks.Sign;
|
||||||
@ -16,14 +17,17 @@ public class DailyReportDto : IId,
|
|||||||
IWellRelated
|
IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название скважины
|
/// Название скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string WellCaption { get; set; } = null!;
|
public string WellCaption { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -64,6 +68,7 @@ public class DailyReportDto : IId,
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата формирования отчёта
|
/// Дата формирования отчёта
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateOnly Date { get; set; }
|
public DateOnly Date { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -74,11 +79,13 @@ public class DailyReportDto : IId,
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Блок фактической траектории
|
/// Блок фактической траектории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public TrajectoryBlockDto TrajectoryBlock { get; set; } = null!;
|
public TrajectoryBlockDto TrajectoryBlock { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Фактические операции
|
/// Фактические операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public WellOperationBlockDto FactWellOperationBlock { get; set; } = null!;
|
public WellOperationBlockDto FactWellOperationBlock { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -99,10 +106,12 @@ public class DailyReportDto : IId,
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Блок расписания
|
/// Блок расписания
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<ScheduleRecordDto> ScheduleBlock { get; set; } = Enumerable.Empty<ScheduleRecordDto>();
|
public IEnumerable<ScheduleRecordDto> ScheduleBlock { get; set; } = Enumerable.Empty<ScheduleRecordDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// РТК
|
/// РТК
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<ProcessMapWellDrillingRecordDto> ProcessMapWellDrillingBlock { get; set; } = Enumerable.Empty<ProcessMapWellDrillingRecordDto>();
|
public IEnumerable<ProcessMapWellDrillingRecordDto> ProcessMapWellDrillingBlock { get; set; } = Enumerable.Empty<ProcessMapWellDrillingRecordDto>();
|
||||||
}
|
}
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -10,11 +11,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата начала диапазона
|
/// Дата начала диапазона
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime From { get; set; }
|
public DateTime From { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата окончания диапазона
|
/// Дата окончания диапазона
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime To { get; set; }
|
public DateTime To { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
@ -21,6 +22,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Кусты месторождения
|
/// Кусты месторождения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<ClusterDto> Clusters { get; set; } = Enumerable.Empty<ClusterDto>();
|
public IEnumerable<ClusterDto> Clusters { get; set; } = Enumerable.Empty<ClusterDto>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,6 +34,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Кусты месторождения
|
/// Кусты месторождения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<ClusterBranchDto> Clusters { get; set; } = Enumerable.Empty<ClusterBranchDto>();
|
public IEnumerable<ClusterBranchDto> Clusters { get; set; } = Enumerable.Empty<ClusterBranchDto>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.DetectedOperation
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.DetectedOperation
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статистика по операциям бурильщика
|
/// Статистика по операциям бурильщика
|
||||||
@ -13,11 +15,13 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Количество операции
|
/// Количество операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Count { get; set; }
|
public int Count { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Среднее по ключевому показателю
|
/// Среднее по ключевому показателю
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double AverageValue { get; set; }
|
public double AverageValue { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DetectedOperation
|
namespace AsbCloudApp.Data.DetectedOperation
|
||||||
{
|
{
|
||||||
@ -8,54 +9,65 @@ namespace AsbCloudApp.Data.DetectedOperation
|
|||||||
public class DetectedOperationDto : IId, IWellRelated
|
public class DetectedOperationDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id телеметрии
|
/// Id телеметрии
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdTelemetry { get; set; }
|
public int IdTelemetry { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id названия/описания операции
|
/// Id названия/описания операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdCategory { get; set; }
|
public int IdCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id пользователя панели
|
/// Id пользователя панели
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdUsersAtStart { get; set; }
|
public int IdUsersAtStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата начала операции в часовом поясе скважины
|
/// Дата начала операции в часовом поясе скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateStart { get; set; }
|
public DateTime DateStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата завершения операции в часовом поясе скважины
|
/// Дата завершения операции в часовом поясе скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateEnd { get; set; }
|
public DateTime DateEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Продолжительность операции в минутах
|
/// Продолжительность операции в минутах
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double DurationMinutes => (DateEnd - DateStart).TotalMinutes;
|
public double DurationMinutes => (DateEnd - DateStart).TotalMinutes;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// глубина на начало операции, м
|
/// глубина на начало операции, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double DepthStart { get; set; }
|
public double DepthStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// глубина на завершения операции, м
|
/// глубина на завершения операции, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double DepthEnd { get; set; }
|
public double DepthEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// название/описание операции
|
/// название/описание операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public WellOperationCategoryDto OperationCategory { get; set; } = null!;
|
public WellOperationCategoryDto OperationCategory { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -76,11 +88,13 @@ namespace AsbCloudApp.Data.DetectedOperation
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Ключевой параметр операции
|
/// Ключевой параметр операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double Value { get; set; }
|
public double Value { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Флаг включенной подсистемы
|
/// Флаг включенной подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int EnabledSubsystems { get; set; }
|
public int EnabledSubsystems { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DetectedOperation
|
namespace AsbCloudApp.Data.DetectedOperation
|
||||||
@ -11,11 +12,13 @@ namespace AsbCloudApp.Data.DetectedOperation
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Список всех операций
|
/// Список всех операций
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<DetectedOperationDto> Operations { get; set; } = Enumerable.Empty<DetectedOperationDto>();
|
public IEnumerable<DetectedOperationDto> Operations { get; set; } = Enumerable.Empty<DetectedOperationDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статистика по бурильщикам
|
/// Статистика по бурильщикам
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<DetectedOperationDrillersStatDto> Stats { get; set; } = Enumerable.Empty<DetectedOperationDrillersStatDto>();
|
public IEnumerable<DetectedOperationDrillersStatDto> Stats { get; set; } = Enumerable.Empty<DetectedOperationDrillersStatDto>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.DetectedOperation
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.DetectedOperation
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статистика по операциям например за период.
|
/// Статистика по операциям например за период.
|
||||||
@ -8,6 +10,7 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id названия/описания операции
|
/// Id названия/описания операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdCategory { get; set; }
|
public int IdCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -18,41 +21,49 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Количество операций
|
/// Количество операций
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Count { get; set; }
|
public int Count { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Среднее по ключевому показателю
|
/// Среднее по ключевому показателю
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double ValueAverage { get; set; }
|
public double ValueAverage { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Мин по ключевому показателю
|
/// Мин по ключевому показателю
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double ValueMin { get; set; }
|
public double ValueMin { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Макс по ключевому показателю
|
/// Макс по ключевому показателю
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double ValueMax { get; set; }
|
public double ValueMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Суммарное время операций, мин
|
/// Суммарное время операций, мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double MinutesTotal { get; set; }
|
public double MinutesTotal { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Мин продолжительность операции, мин
|
/// Мин продолжительность операции, мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double MinutesMin { get; set; }
|
public double MinutesMin { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Макс продолжительность операции, мин
|
/// Макс продолжительность операции, мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double MinutesMax { get; set; }
|
public double MinutesMax { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Средняя продолжительность операции, мин
|
/// Средняя продолжительность операции, мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double MinutesAverage { get; set; }
|
public double MinutesAverage { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.DrillTestReport
|
namespace AsbCloudApp.Data.DrillTestReport
|
||||||
{
|
{
|
||||||
@ -10,16 +11,19 @@ namespace AsbCloudApp.Data.DrillTestReport
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор отчета
|
/// Идентификатор отчета
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Проходка
|
/// Проходка
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public float DrillDepth { get; set; }
|
public float DrillDepth { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата и время
|
/// Дата и время
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateTime { get; set; }
|
public DateTime DateTime { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Описание данных для бурильщика
|
/// Описание данных для бурильщика
|
||||||
@ -8,16 +10,19 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор в БД
|
/// Идентификатор в БД
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Имя
|
/// Имя
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Фамилия
|
/// Фамилия
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Surname { get; set; } = null!;
|
public string Surname { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using AsbCloudApp.Data.User;
|
using AsbCloudApp.Data.User;
|
||||||
|
|
||||||
@ -12,11 +13,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название
|
/// Название
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ИД категории файла
|
/// ИД категории файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdFileCategory { get; set; }
|
public int IdFileCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -24,26 +27,31 @@ namespace AsbCloudApp.Data
|
|||||||
/// 1 - approving
|
/// 1 - approving
|
||||||
/// 2 - completely approved
|
/// 2 - completely approved
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdState { get; set; }
|
public int IdState { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Публикаторы. Могут загружать файл этой категории
|
/// Публикаторы. Могут загружать файл этой категории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<UserDto> Publishers { get; set; } = Enumerable.Empty<UserDto>();
|
public IEnumerable<UserDto> Publishers { get; set; } = Enumerable.Empty<UserDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Согласованты. Могут согласовывать загруженные файлы этой категории
|
/// Согласованты. Могут согласовывать загруженные файлы этой категории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<UserDto> Approvers { get; set; } = Enumerable.Empty<UserDto>();
|
public IEnumerable<UserDto> Approvers { get; set; } = Enumerable.Empty<UserDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Разрешение для текущего пользователя согласовывать документ
|
/// Разрешение для текущего пользователя согласовывать документ
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool PermissionToApprove { get; set; }
|
public bool PermissionToApprove { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Разрешение для текущего пользователя загружать документ
|
/// Разрешение для текущего пользователя загружать документ
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool PermissionToUpload { get; set; }
|
public bool PermissionToUpload { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
@ -14,6 +15,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// 2 - формируется (несколько минут)
|
/// 2 - формируется (несколько минут)
|
||||||
/// 3 - готова
|
/// 3 - готова
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdState { get; set; }
|
public int IdState { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -29,11 +31,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Разрешение редактировать части программы бурения
|
/// Разрешение редактировать части программы бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool PermissionToEdit { get; set; }
|
public bool PermissionToEdit { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Список частей программы бурения
|
/// Список частей программы бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<DrillingProgramPartDto> Parts { get; set; } = Enumerable.Empty<DrillingProgramPartDto>();
|
public IEnumerable<DrillingProgramPartDto> Parts { get; set; } = Enumerable.Empty<DrillingProgramPartDto>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,11 +49,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Текст ошибки для отображения пользователю
|
/// Текст ошибки для отображения пользователю
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Message { get; set; } = string.Empty;
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Текст ошибки для разработчика
|
/// Текст ошибки для разработчика
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Exception { get; set; } = string.Empty;
|
public string Exception { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -10,6 +11,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ключ вопроса
|
/// ключ вопроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -31,6 +33,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// текст вопроса
|
/// текст вопроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Question { get; set; } = null!;
|
public string Question { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -41,21 +44,25 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// статус вопроса
|
/// статус вопроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int State { get; set; } = 0;
|
public int State { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Счетчик повторений вопроса
|
/// Счетчик повторений вопроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int CounterQuestion { get; set; } = 1;
|
public int CounterQuestion { get; set; } = 1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Частый вопрос
|
/// Частый вопрос
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsFrequently { get; set; } = false;
|
public bool IsFrequently { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Автор вопроса
|
/// Автор вопроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string AurhorQuestionName { get; set; } = string.Empty;
|
public string AurhorQuestionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTO категории файла
|
/// DTO категории файла
|
||||||
@ -6,12 +8,14 @@
|
|||||||
public class FileCategoryDto : IId
|
public class FileCategoryDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// полное название
|
/// полное название
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; } = string.Empty;
|
[Required]
|
||||||
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// сокращенное название
|
/// сокращенное название
|
||||||
|
@ -12,15 +12,18 @@ namespace AsbCloudApp.Data
|
|||||||
public class FileInfoDto : IId, IWellRelated
|
public class FileInfoDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// id категории файла
|
/// id категории файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
|
||||||
public int IdCategory { get; set; }
|
public int IdCategory { get; set; }
|
||||||
|
|
||||||
@ -32,22 +35,26 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// имя файла
|
/// имя файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
|
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// дата загрузки
|
/// дата загрузки
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime UploadDate { get; set; }
|
public DateTime UploadDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// размер в байтах
|
/// размер в байтах
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public long Size { get; set; }
|
public long Size { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Помечен как удаленный
|
/// Помечен как удаленный
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsDeleted { get; set; }
|
public bool IsDeleted { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -58,6 +65,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// список отметок файла
|
/// список отметок файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<FileMarkDto> FileMarks { get; set; } = Enumerable.Empty<FileMarkDto>();
|
public IEnumerable<FileMarkDto> FileMarks { get; set; } = Enumerable.Empty<FileMarkDto>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,11 +10,13 @@ namespace AsbCloudApp.Data
|
|||||||
public class FileMarkDto: IId
|
public class FileMarkDto: IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// id файла
|
/// id файла
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
|
||||||
public int IdFile { get; set; }
|
public int IdFile { get; set; }
|
||||||
|
|
||||||
@ -22,6 +24,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// 0 - отклонен
|
/// 0 - отклонен
|
||||||
/// 1 - согласован
|
/// 1 - согласован
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
|
[Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
|
||||||
public int IdMarkType { get; set; }
|
public int IdMarkType { get; set; }
|
||||||
|
|
||||||
@ -29,6 +32,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// дата/время добавления.
|
/// дата/время добавления.
|
||||||
/// Необязательно указывать в запросе на создание.
|
/// Необязательно указывать в запросе на создание.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateCreated { get; set; }
|
public DateTime DateCreated { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -40,6 +44,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// признак удаления отметки
|
/// признак удаления отметки
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsDeleted { get; set; }
|
public bool IsDeleted { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -33,11 +34,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// идентификатор
|
/// идентификатор
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Состояние
|
/// Состояние
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public JobState State { get; set; }
|
public JobState State { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -10,31 +11,37 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор скважины
|
/// Идентификатор скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Время бурения
|
/// Время бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public float TotalMinutes { get; set; }
|
public float TotalMinutes { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина бурения
|
/// Глубина бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public float Depth { get; set; }
|
public float Depth { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор критерия бурения
|
/// Идентификатор критерия бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public short IdFeedRegulator { get; set; }
|
public short IdFeedRegulator { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Наименование критерия бурения
|
/// Наименование критерия бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string NameFeedRegulator { get; set; } = string.Empty;
|
public string NameFeedRegulator { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Количество включений
|
/// Количество включений
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int NumberInclusions { get; set; }
|
public int NumberInclusions { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,32 +10,38 @@ namespace AsbCloudApp.Data
|
|||||||
public class MeasureDto : IId, IWellRelated
|
public class MeasureDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id категории замера
|
/// Id категории замера
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")]
|
||||||
public int IdCategory { get; set; }
|
public int IdCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// название категории замера
|
/// название категории замера
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")]
|
[StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")]
|
||||||
public string CategoryName { get; set; } = string.Empty;
|
public string CategoryName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// отметка времени замера
|
/// отметка времени замера
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime Timestamp { get; set; }
|
public DateTime Timestamp { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// данные замера
|
/// данные замера
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public Dictionary<string, object> Data { get; set; } = new();
|
public Dictionary<string, object> Data { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,22 +9,26 @@ namespace AsbCloudApp.Data
|
|||||||
public class MessageDto : IId
|
public class MessageDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// дата появления события
|
/// дата появления события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateTime { get; set; }
|
public DateTime DateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// категория события
|
/// категория события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
|
||||||
public int CategoryId { get; set; }
|
public int CategoryId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// глубина забоя, при котором событие возникло
|
/// глубина забоя, при котором событие возникло
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
|
[Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
|
||||||
public double WellDepth { get; set; }
|
public double WellDepth { get; set; }
|
||||||
|
|
||||||
@ -36,6 +40,7 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// текст сообщения
|
/// текст сообщения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
|
[StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
|
||||||
public string Message { get; set; } = string.Empty;
|
public string Message { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data;
|
namespace AsbCloudApp.Data;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -8,10 +10,12 @@ public class NotificationCategoryDto : IId
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id категории
|
/// Id категории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название категории
|
/// Название категории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
}
|
}
|
@ -11,16 +11,19 @@ public class NotificationDto : IId
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id уведомления
|
/// Id уведомления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id получателя уведомления
|
/// Id получателя уведомления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdUser { get; set; }
|
public int IdUser { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id категории уведомления
|
/// Id категории уведомления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdNotificationCategory { get; set; }
|
public int IdNotificationCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -38,6 +41,7 @@ public class NotificationDto : IId
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата регистрации уведомления
|
/// Дата регистрации уведомления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime RegistrationDate { get; set; }
|
public DateTime RegistrationDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -56,6 +60,7 @@ public class NotificationDto : IId
|
|||||||
/// 1 - Отправлено,
|
/// 1 - Отправлено,
|
||||||
/// 2 - Прочитано
|
/// 2 - Прочитано
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdState
|
public int IdState
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -93,11 +98,13 @@ public class NotificationDto : IId
|
|||||||
/// 0 - SignalR
|
/// 0 - SignalR
|
||||||
/// 1 - Email
|
/// 1 - Email
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0,1)]
|
[Range(0,1)]
|
||||||
public int IdTransportType { get; set; }
|
public int IdTransportType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTO категории уведомления
|
/// DTO категории уведомления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public NotificationCategoryDto NotificationCategory { get; set; } = null!;
|
public NotificationCategoryDto NotificationCategory { get; set; } = null!;
|
||||||
}
|
}
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Описание целевых/нормативных показателей операций
|
/// Описание целевых/нормативных показателей операций
|
||||||
@ -8,36 +10,43 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор в БД
|
/// Идентификатор в БД
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор скважины
|
/// Идентификатор скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор категории операции
|
/// Идентификатор категории операции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdOperationCategory { get; set; }
|
public int IdOperationCategory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Целевой показатель
|
/// Целевой показатель
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double TargetValue { get; set; }
|
public double TargetValue { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Нормативный показатель
|
/// Нормативный показатель
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double StandardValue { get; set; }
|
public double StandardValue { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Стартовая глубина
|
/// Стартовая глубина
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double DepthStart { get; set; }
|
public double DepthStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Конечная глубина
|
/// Конечная глубина
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double DepthEnd { get; set; }
|
public double DepthEnd { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,13 @@ namespace AsbCloudApp.Data
|
|||||||
public class PermissionDto : IId
|
public class PermissionDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название
|
/// Название
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")]
|
[StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")]
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Плановое значение и максимально допустимое ограничение
|
/// Плановое значение и максимально допустимое ограничение
|
||||||
@ -8,11 +10,13 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// План
|
/// План
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double Plan { get; set; }
|
public double Plan { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Максимальное ограничение
|
/// Максимальное ограничение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double LimitMax { get; set; }
|
public double LimitMax { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,13 @@ namespace AsbCloudApp.Data.ProcessMaps;
|
|||||||
public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
|
public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id скважины
|
/// Id скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
@ -23,6 +25,7 @@ public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Тип секции
|
/// Тип секции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(1, int.MaxValue, ErrorMessage = "Id секции скважины не может быть меньше 1")]
|
[Range(1, int.MaxValue, ErrorMessage = "Id секции скважины не может быть меньше 1")]
|
||||||
public int IdWellSectionType { get; set; }
|
public int IdWellSectionType { get; set; }
|
||||||
|
|
||||||
@ -37,6 +40,7 @@ public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
|
|||||||
/// на начало интервала
|
/// на начало интервала
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
||||||
public double DepthStart { get; set; }
|
public double DepthStart { get; set; }
|
||||||
|
|
||||||
@ -46,6 +50,7 @@ public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
|
|||||||
/// на конец интервала
|
/// на конец интервала
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
||||||
public double DepthEnd { get; set; }
|
public double DepthEnd { get; set; }
|
||||||
|
|
||||||
|
@ -10,49 +10,58 @@ public class ProcessMapPlanWellDrillingDto : ProcessMapPlanBaseDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id режима 0-ручной, 1-ротор, 2 - слайд
|
/// Id режима 0-ручной, 1-ротор, 2 - слайд
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")]
|
[Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")]
|
||||||
public int IdMode { get; set; }
|
public int IdMode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Нагрузка
|
/// Нагрузка
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanLimitDto AxialLoad { get; set; } = null!;
|
public PlanLimitDto AxialLoad { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Перепад давления
|
/// Перепад давления
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanLimitDto Pressure { get; set; } = null!;
|
public PlanLimitDto Pressure { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Момент на ВСП
|
/// Момент на ВСП
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanLimitDto TopDriveTorque { get; set; } = null!;
|
public PlanLimitDto TopDriveTorque { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обороты на ВСП
|
/// Обороты на ВСП
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanLimitDto TopDriveSpeed { get; set; } = null!;
|
public PlanLimitDto TopDriveSpeed { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Расход
|
/// Расход
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanLimitDto Flow { get; set; } = null!;
|
public PlanLimitDto Flow { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Плановая механическая скорость, м/ч
|
/// Плановая механическая скорость, м/ч
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Плановая механическая скорость должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Плановая механическая скорость должно быть в пределах от 0 до 99999.9")]
|
||||||
public double RopPlan { get; set; }
|
public double RopPlan { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Плановый процент использования АКБ
|
/// Плановый процент использования АКБ
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 100, ErrorMessage = "Процент использования АКБ должен быть в пределах от 0 до 100")]
|
[Range(0, 100, ErrorMessage = "Процент использования АКБ должен быть в пределах от 0 до 100")]
|
||||||
public double UsageSaub { get; set; }
|
public double UsageSaub { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Плановый процент использования spin master
|
/// Плановый процент использования spin master
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 100, ErrorMessage = "Процент использования spin master должен быть в пределах от 0 до 100")]
|
[Range(0, 100, ErrorMessage = "Процент использования spin master должен быть в пределах от 0 до 100")]
|
||||||
public double UsageSpin { get; set; }
|
public double UsageSpin { get; set; }
|
||||||
}
|
}
|
@ -11,54 +11,63 @@ public class ProcessMapPlanWellReamDto : ProcessMapPlanBaseDto, IValidatableObje
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Количество повторений
|
/// Количество повторений
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")]
|
[Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")]
|
||||||
public double Repeats { get; set; }
|
public double Repeats { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Вращение при движении вверх, об/мин
|
/// Вращение при движении вверх, об/мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")]
|
||||||
public double SpinUpward { get; set; }
|
public double SpinUpward { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Вращение при движении вниз, об/мин
|
/// Вращение при движении вниз, об/мин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")]
|
||||||
public double SpinDownward { get; set; }
|
public double SpinDownward { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Скорость подъёма, м/ч
|
/// Скорость подъёма, м/ч
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")]
|
||||||
public double SpeedUpward { get; set; }
|
public double SpeedUpward { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Скорость спуска, м/ч
|
/// Скорость спуска, м/ч
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")]
|
||||||
public double SpeedDownward { get; set; }
|
public double SpeedDownward { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Уставка зятяжки, т
|
/// Уставка зятяжки, т
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")]
|
||||||
public double SetpointDrag { get; set; }
|
public double SetpointDrag { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Уставка посадки, т
|
/// Уставка посадки, т
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")]
|
||||||
public double SetpointTight { get; set; }
|
public double SetpointTight { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Давление, атм
|
/// Давление, атм
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")]
|
||||||
public double Pressure { get; set; }
|
public double Pressure { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Момент, кН*м
|
/// Момент, кН*м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")]
|
[Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")]
|
||||||
public double Torque { get; set; }
|
public double Torque { get; set; }
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using AsbCloudApp.Data.User;
|
using AsbCloudApp.Data.User;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
@ -11,11 +12,13 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id пользователя
|
/// Id пользователя
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// логин
|
/// логин
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Login { get; set; } = string.Empty;
|
public string Login { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -26,26 +29,31 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// время выполнения запроса
|
/// время выполнения запроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public long ElapsedMs { get; set; }
|
public long ElapsedMs { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// метка времени последнего запроса
|
/// метка времени последнего запроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime LastDate { get; set; }
|
public DateTime LastDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// кол-во запросов
|
/// кол-во запросов
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public long Requests { get; set; }
|
public long Requests { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// кол-во ошибок
|
/// кол-во ошибок
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public long Errors { get; set; }
|
public long Errors { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTO пользователя
|
/// DTO пользователя
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public UserDto User { get; set; } = null!;
|
public UserDto User { get; set; } = null!;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.SAUB
|
namespace AsbCloudApp.Data.SAUB
|
||||||
@ -12,16 +13,19 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор drill test
|
/// Идентификатор drill test
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Время начала drill test
|
/// Время начала drill test
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTimeOffset TimeStampStart { get; set; }
|
public DateTimeOffset TimeStampStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина начала drill test
|
/// Глубина начала drill test
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public float DepthStart { get; set; }
|
public float DepthStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -32,6 +36,7 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Параметры теста
|
/// Параметры теста
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<DrillTestParamsDto> Params { get; set; } = Enumerable.Empty<DrillTestParamsDto>();
|
public IEnumerable<DrillTestParamsDto> Params { get; set; } = Enumerable.Empty<DrillTestParamsDto>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.SAUB
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.SAUB
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Параметры Drill Test
|
/// Параметры Drill Test
|
||||||
@ -8,6 +10,7 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Шаг
|
/// Шаг
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Step { get; set; }
|
public int Step { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -10,17 +10,20 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// id события
|
/// id события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// шаблон текста сообщения
|
/// шаблон текста сообщения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Message { get; set; } = string.Empty;
|
public string Message { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// id категории события
|
/// id категории события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
|
[Range(0, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
|
||||||
public int IdCategory { get; set; }
|
public int IdCategory { get; set; }
|
||||||
|
|
||||||
@ -32,12 +35,14 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// тип определения наступления события
|
/// тип определения наступления события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
|
[Range(0, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
|
||||||
public int EventType { get; set; }
|
public int EventType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// флаг, следует ли воспроизводить звук при наступлении события
|
/// флаг, следует ли воспроизводить звук при наступлении события
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdSound { get; set; }
|
public int IdSound { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.SAUB
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.SAUB
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DTO рекомендации уставок передаваемых на панель оператора
|
/// DTO рекомендации уставок передаваемых на панель оператора
|
||||||
@ -13,6 +15,7 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// настоящее название уставки (имя переменной в панели оператора)
|
/// настоящее название уставки (имя переменной в панели оператора)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -28,11 +31,13 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// макс. значение
|
/// макс. значение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double Max { get; set; } = double.MaxValue;
|
public double Max { get; set; } = double.MaxValue;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// мин значение
|
/// мин значение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double Min { get; set; } = double.MinValue;
|
public double Min { get; set; } = double.MinValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using AsbCloudApp.Data.User;
|
using AsbCloudApp.Data.User;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.SAUB
|
namespace AsbCloudApp.Data.SAUB
|
||||||
@ -10,19 +11,23 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
public class SetpointsRequestDto : IId, IWellRelated
|
public class SetpointsRequestDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id автора запроса
|
/// Id автора запроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdAuthor { get; set; }
|
public int IdAuthor { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
|
/// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdState { get; set; }
|
public int IdState { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -33,11 +38,13 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// время в секундах актуальности этого запроса
|
/// время в секундах актуальности этого запроса
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int ObsolescenceSec { get; set; }
|
public int ObsolescenceSec { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
|
/// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public Dictionary<string, double> Setpoints { get; set; } = new();
|
public Dictionary<string, double> Setpoints { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -11,6 +11,7 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// метка времени данных
|
/// метка времени данных
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateTime { get; set; }
|
public DateTime DateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.SAUB
|
namespace AsbCloudApp.Data.SAUB
|
||||||
{
|
{
|
||||||
@ -15,6 +16,7 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата
|
/// Дата
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DateTime { get; set; }
|
public DateTime DateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -70,11 +72,13 @@ namespace AsbCloudApp.Data.SAUB
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Осцилляция включена
|
/// Осцилляция включена
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsOscillating => State != 0 & State != 6 & State != 7;
|
public bool IsOscillating => State != 0 & State != 6 & State != 7;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Демпфирование включено
|
/// Демпфирование включено
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public bool IsDampening => State == 7 && (Mode & 2) > 0;
|
public bool IsDampening => State == 7 && (Mode & 2) > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -8,34 +9,41 @@ namespace AsbCloudApp.Data
|
|||||||
public class ScheduleDto : IId, IWellRelated
|
public class ScheduleDto : IId, IWellRelated
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор бурильщика
|
/// Идентификатор бурильщика
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdDriller { get; set; }
|
public int IdDriller { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Начало смены
|
/// Начало смены
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public TimeDto ShiftStart { get; set; } = null!;
|
public TimeDto ShiftStart { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Конец смены
|
/// Конец смены
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public TimeDto ShiftEnd { get; set; } = null!;
|
public TimeDto ShiftEnd { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Начало бурения
|
/// Начало бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DrillStart { get; set; }
|
public DateTime DrillStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Конец бурения
|
/// Конец бурения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime DrillEnd { get; set; }
|
public DateTime DrillEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -11,42 +11,50 @@ public class SectionByOperationsDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id скважины
|
/// Id скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdWell { get; set; }
|
public int IdWell { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 0 = план или 1 = факт или прогноз = 2
|
/// 0 = план или 1 = факт или прогноз = 2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdType { get; set; }
|
public int IdType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// id секции скважины
|
/// id секции скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdWellSectionType { get; set; }
|
public int IdWellSectionType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина начала первой операции в секции, м
|
/// Глубина начала первой операции в секции, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 50_000)]
|
[Range(0, 50_000)]
|
||||||
public double DepthStart { get; set; }
|
public double DepthStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата начала первой операции в секции
|
/// Дата начала первой операции в секции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTimeOffset DateStart { get; set; }
|
public DateTimeOffset DateStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина после завершения последней операции в секции, м
|
/// Глубина после завершения последней операции в секции, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
[Range(0, 50_000)]
|
[Range(0, 50_000)]
|
||||||
public double DepthEnd { get; set; }
|
public double DepthEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата после завершения последней операции в секции
|
/// Дата после завершения последней операции в секции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTimeOffset DateEnd { get; set; }
|
public DateTimeOffset DateEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название
|
/// Название
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Caption { get; set; } = string.Empty;
|
public string Caption { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
@ -9,16 +10,19 @@ namespace AsbCloudApp.Data
|
|||||||
public class StatClusterDto : IId
|
public class StatClusterDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// название куста
|
/// название куста
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Caption { get; set; } = string.Empty;
|
public string Caption { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// список статистик скважин куста
|
/// список статистик скважин куста
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<StatWellDto> StatsWells { get; set; } = Enumerable.Empty<StatWellDto>();
|
public IEnumerable<StatWellDto> StatsWells { get; set; } = Enumerable.Empty<StatWellDto>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
@ -20,41 +21,49 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина, м
|
/// Глубина, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double WellDepthStart { get; set; }
|
public double WellDepthStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина, м
|
/// Глубина, м
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double WellDepthEnd { get; set; }
|
public double WellDepthEnd { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Рейсовая скорость, м/час
|
/// Рейсовая скорость, м/час
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double RouteSpeed { get; set; }
|
public double RouteSpeed { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Механическая скорость проходки, м/час
|
/// Механическая скорость проходки, м/час
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double Rop { get; set; }
|
public double Rop { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Скорость подъема КНБК
|
/// Скорость подъема КНБК
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double BhaUpSpeed { get; set; }
|
public double BhaUpSpeed { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Скорость спуска КНБК
|
/// Скорость спуска КНБК
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double BhaDownSpeed { get; set; }
|
public double BhaDownSpeed { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Скорость спуска обсадной колонны
|
/// Скорость спуска обсадной колонны
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double CasingDownSpeed { get; set; }
|
public double CasingDownSpeed { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Непроизводительное время
|
/// Непроизводительное время
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double NonProductiveHours { get; set; }
|
public double NonProductiveHours { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// План-факт статистики по операциям за секцию скважины
|
/// План-факт статистики по операциям за секцию скважины
|
||||||
@ -6,11 +8,13 @@
|
|||||||
public class StatSectionDto : PlanFactDto<StatOperationsDto>, IId
|
public class StatSectionDto : PlanFactDto<StatOperationsDto>, IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// название секции
|
/// название секции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Caption { get; set; } = string.Empty;
|
public string Caption { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data
|
namespace AsbCloudApp.Data
|
||||||
@ -10,46 +11,55 @@ namespace AsbCloudApp.Data
|
|||||||
public class StatWellDto : IId
|
public class StatWellDto : IId
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// название
|
/// название
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Caption { get; set; } = string.Empty;
|
public string Caption { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// тип скважины
|
/// тип скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string WellType { get; set; } = string.Empty;
|
public string WellType { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ИД состояния скважины
|
/// ИД состояния скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdState { get; set; }
|
public int IdState { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// текст состояния скважины
|
/// текст состояния скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string State { get; set; } = string.Empty;
|
public string State { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// дата прихода последней телеметрии
|
/// дата прихода последней телеметрии
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime LastTelemetryDate { get; set; }
|
public DateTime LastTelemetryDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статистика по секциям
|
/// Статистика по секциям
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<StatSectionDto> Sections { get; set; } = Enumerable.Empty<StatSectionDto>();
|
public IEnumerable<StatSectionDto> Sections { get; set; } = Enumerable.Empty<StatSectionDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// статистика за всю скважину
|
/// статистика за всю скважину
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public PlanFactDto<StatOperationsDto> Total { get; set; } = new();
|
public PlanFactDto<StatOperationsDto> Total { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// компании участвующие в строительстве скважины
|
/// компании участвующие в строительстве скважины
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>();
|
public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.Subsystems;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.Subsystems;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статистика наработки подсистем по активным скважинам
|
/// Статистика наработки подсистем по активным скважинам
|
||||||
@ -8,6 +10,7 @@ public class SubsystemActiveWellStatDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Активная скважина
|
/// Активная скважина
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public WellInfoDto Well { get; set; } = null!;
|
public WellInfoDto Well { get; set; } = null!;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Наработки подсистемы АПД
|
/// Наработки подсистемы АПД
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace AsbCloudApp.Data.Subsystems
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.Subsystems
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Описание параметров подсистемы
|
/// Описание параметров подсистемы
|
||||||
@ -8,14 +10,17 @@
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор подсистемы
|
/// Идентификатор подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Наименование подсистемы
|
/// Наименование подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Детальное описание подсистемы
|
/// Детальное описание подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Description { get; set; } = string.Empty;
|
public string Description { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.Subsystems
|
namespace AsbCloudApp.Data.Subsystems
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -9,34 +11,42 @@ namespace AsbCloudApp.Data.Subsystems
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Идентификатор подсистемы
|
/// Идентификатор подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int IdSubsystem { get; set; }
|
public int IdSubsystem { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Название подсистемы
|
/// Название подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string SubsystemName { get; set; } = null!;
|
public string SubsystemName { get; set; } = null!;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// наработка подсистемы
|
/// наработка подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double UsedTimeHours { get; set; }
|
public double UsedTimeHours { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// коэффициент использования
|
/// коэффициент использования
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double KUsage { get; set; }
|
public double KUsage { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// сумма изменения глубин при включеной подсистеме
|
/// сумма изменения глубин при включеной подсистеме
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double SumDepthInterval { get; set; }
|
public double SumDepthInterval { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// сумма проходок автоопределенных операций выполняемых подсистемой
|
/// сумма проходок автоопределенных операций выполняемых подсистемой
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double SumOperationDepthInterval { get; set; }
|
public double SumOperationDepthInterval { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// сумма продолжительности автоопределенных операций выполняемых подсистемой
|
/// сумма продолжительности автоопределенных операций выполняемых подсистемой
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public double SumOperationDurationHours { get; set; }
|
public double SumOperationDurationHours { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// количество включений подсистемы
|
/// количество включений подсистемы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int OperationCount { get; set; }
|
public int OperationCount { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.WITS
|
namespace AsbCloudApp.Data.WITS
|
||||||
{
|
{
|
||||||
@ -8,17 +9,20 @@ namespace AsbCloudApp.Data.WITS
|
|||||||
public abstract class RecordBaseDto : IId, ITelemetryData
|
public abstract class RecordBaseDto : IId, ITelemetryData
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public int IdTelemetry { get; set; }
|
public int IdTelemetry { get; set; }
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
[Required]
|
||||||
public DateTime DateTime { get; set; }
|
public DateTime DateTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// îòìåòêà âðåìåíè
|
/// îòìåòêà âðåìåíè
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public int TimeStamp { get; set; }
|
public int TimeStamp { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -33,7 +37,7 @@ namespace AsbCloudApp.Data.WITS
|
|||||||
/// Length = 16,
|
/// Length = 16,
|
||||||
/// ValueType = "A"
|
/// ValueType = "A"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public string Wellid { get; set; } = string.Empty;
|
public string Wellid { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user