diff --git a/AsbCloudApp/Comparators/ComparerIId.cs b/AsbCloudApp/Comparators/ComparerIId.cs
index b3fb0e15..76fd40de 100644
--- a/AsbCloudApp/Comparators/ComparerIId.cs
+++ b/AsbCloudApp/Comparators/ComparerIId.cs
@@ -2,53 +2,52 @@ using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
-namespace AsbCloudApp.Comparators
+namespace AsbCloudApp.Comparators;
+
+///
+/// Компаратор для сравнения сущностей по ID
+///
+public class ComparerIId : IComparer, IEqualityComparer
{
+ private static readonly ComparerIId instance = new();
+ private ComparerIId() { }
+
///
- /// Компаратор для сравнения сущностей по ID
+ /// Singleton ссылка
///
- public class ComparerIId : IComparer, IEqualityComparer
- {
- private static readonly ComparerIId instance = new();
- private ComparerIId() { }
+ ///
+ public static ComparerIId GetInstance() => instance;
- ///
- /// Singleton ссылка
- ///
- ///
- public static ComparerIId GetInstance() => instance;
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public int Compare(IId? x, IId? y)
+ => (x?.Id??0).CompareTo(y?.Id??0);
+
- ///
- ///
- ///
- ///
- ///
- ///
- public int Compare(IId? x, IId? y)
- => (x?.Id??0).CompareTo(y?.Id??0);
-
-
- ///
- ///
- ///
- ///
- ///
- ///
- public bool Equals(IId? x, IId? y)
- {
- if (x is not null && y is not null)
- return x.Id == y.Id;
-
- return x == y;
- }
-
- ///
- ///
- ///
- ///
- ///
- public int GetHashCode([DisallowNull] IId obj) =>
- obj.GetHashCode();
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool Equals(IId? x, IId? y)
+ {
+ if (x is not null && y is not null)
+ return x.Id == y.Id;
+ return x == y;
}
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public int GetHashCode([DisallowNull] IId obj) =>
+ obj.GetHashCode();
+
}
diff --git a/AsbCloudApp/Comparators/TelemetryUserDtoComparer.cs b/AsbCloudApp/Comparators/TelemetryUserDtoComparer.cs
index d993cc3d..2ad87efb 100644
--- a/AsbCloudApp/Comparators/TelemetryUserDtoComparer.cs
+++ b/AsbCloudApp/Comparators/TelemetryUserDtoComparer.cs
@@ -1,21 +1,20 @@
using AsbCloudApp.Data.SAUB;
using System.Collections.Generic;
-namespace AsbCloudApp.Comparators
+namespace AsbCloudApp.Comparators;
+
+///
+public class TelemetryUserDtoComparer : IEqualityComparer
{
///
- public class TelemetryUserDtoComparer : IEqualityComparer
+ public bool Equals(TelemetryUserDto? prevUser, TelemetryUserDto? nextUser)
{
- ///
- public bool Equals(TelemetryUserDto? prevUser, TelemetryUserDto? nextUser)
- {
- if (prevUser is not null && nextUser is not null)
- return prevUser.Id == nextUser.Id;
+ if (prevUser is not null && nextUser is not null)
+ return prevUser.Id == nextUser.Id;
- return prevUser == nextUser;
- }
-
- ///
- public int GetHashCode(TelemetryUserDto user) => user.Id.GetHashCode();
+ return prevUser == nextUser;
}
+
+ ///
+ public int GetHashCode(TelemetryUserDto user) => user.Id.GetHashCode();
}
diff --git a/AsbCloudApp/CyclicArray.cs b/AsbCloudApp/CyclicArray.cs
index b9a87956..3735e519 100644
--- a/AsbCloudApp/CyclicArray.cs
+++ b/AsbCloudApp/CyclicArray.cs
@@ -1,196 +1,195 @@
using System.Linq;
-namespace System.Collections.Generic
+namespace System.Collections.Generic;
+
+///
+/// Цикличный массив
+///
+///
+public class CyclicArray : IEnumerable
{
+ readonly T[] array;
+ int used, current = -1;
+
///
- /// Цикличный массив
+ /// constructor
///
- ///
- public class CyclicArray : IEnumerable
+ ///
+ public CyclicArray(int capacity)
{
- readonly T[] array;
- int used, current = -1;
+ array = new T[capacity];
+ }
- ///
- /// constructor
- ///
- ///
- public CyclicArray(int capacity)
+ ///
+ /// Количество элементов в массиве
+ ///
+ public int Count => used;
+
+ ///
+ /// Добавить новый элемент
+ /// Если capacity достигнуто, то вытеснит самый первый элемент
+ ///
+ ///
+ public void Add(T item)
+ {
+ current = (++current) % array.Length;
+ array[current] = item;
+ if (used < array.Length)
+ used++;
+ UpdatedInvoke(current, item);
+ }
+
+ ///
+ /// Добавить новые элементы.
+ /// Если capacity достигнуто, то вытеснит самые первые элементы.
+ /// Не вызывает Updated!
+ ///
+ ///
+ public void AddRange(IEnumerable items)
+ {
+ var capacity = array.Length;
+ var newItems = items.TakeLast(capacity).ToArray();
+ if (newItems.Length == capacity)
{
- array = new T[capacity];
+ Array.Copy(newItems, array, capacity);
+ current = capacity - 1;
}
-
- ///
- /// Количество элементов в массиве
- ///
- public int Count => used;
-
- ///
- /// Добавить новый элемент
- /// Если capacity достигнуто, то вытеснит самый первый элемент
- ///
- ///
- public void Add(T item)
+ else
{
- current = (++current) % array.Length;
- array[current] = item;
- if (used < array.Length)
- used++;
- UpdatedInvoke(current, item);
- }
-
- ///
- /// Добавить новые элементы.
- /// Если capacity достигнуто, то вытеснит самые первые элементы.
- /// Не вызывает Updated!
- ///
- ///
- public void AddRange(IEnumerable items)
- {
- var capacity = array.Length;
- var newItems = items.TakeLast(capacity).ToArray();
- if (newItems.Length == capacity)
+ current = (++current) % capacity;
+ var countToEndOfArray = capacity - current;
+ if (newItems.Length <= countToEndOfArray)
{
- Array.Copy(newItems, array, capacity);
- current = capacity - 1;
+ Array.Copy(newItems, 0, array, current, newItems.Length);
+ current += newItems.Length - 1;
}
else
{
- current = (++current) % capacity;
- var countToEndOfArray = capacity - current;
- if (newItems.Length <= countToEndOfArray)
- {
- Array.Copy(newItems, 0, array, current, newItems.Length);
- current += newItems.Length - 1;
- }
- else
- {
- var firstStepLength = countToEndOfArray;
- Array.Copy(newItems, 0, array, current, firstStepLength);
- var secondStepCount = newItems.Length - firstStepLength;
- Array.Copy(newItems, firstStepLength, array, 0, secondStepCount);
- current = secondStepCount - 1;
- }
- }
-
- if (used < capacity)
- {
- used += newItems.Length;
- used = used > capacity ? capacity : used;
+ var firstStepLength = countToEndOfArray;
+ Array.Copy(newItems, 0, array, current, firstStepLength);
+ var secondStepCount = newItems.Length - firstStepLength;
+ Array.Copy(newItems, firstStepLength, array, 0, secondStepCount);
+ current = secondStepCount - 1;
}
}
- ///
- /// Индекс
- ///
- ///
- ///
- public T this[int index]
+ if (used < capacity)
+ {
+ used += newItems.Length;
+ used = used > capacity ? capacity : used;
+ }
+ }
+
+ ///
+ /// Индекс
+ ///
+ ///
+ ///
+ public T this[int index]
+ {
+ get
+ {
+ if (used == 0)
+ throw new IndexOutOfRangeException();
+
+ var i = (current + 1 + index) % used;
+ return array[i];
+ }
+ set
+ {
+ var devider = used > 0 ? used : array.Length;
+ var i = (current + 1 + index) % devider;
+ array[i] = value;
+ UpdatedInvoke(current, value);
+ }
+ }
+
+ ///
+ /// событие на изменение элемента в массиве
+ ///
+ public event EventHandler<(int index, T value)>? Updated;
+ private void UpdatedInvoke(int index, T value)
+ {
+ Updated?.Invoke(this, (index, value));
+ }
+
+ ///
+ /// Агрегирование значения по всему массиву
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Tout Aggregate(Func func, Tout startValue)
+ {
+ Tout result = startValue;
+ for (int i = 0; i < used; i++)
+ result = func(this[i], result);
+ return result;
+ }
+
+ ///
+ public IEnumerator GetEnumerator()
+ => new CyclycListEnumerator(array, current, used);
+
+ ///
+ IEnumerator IEnumerable.GetEnumerator()
+ => GetEnumerator();
+
+ class CyclycListEnumerator : IEnumerator
+ {
+ private readonly Te[] array;
+ private readonly int used;
+ private readonly int first;
+ private int current = -1;
+
+ public CyclycListEnumerator(Te[] array, int first, int used)
+ {
+ this.array = new Te[array.Length];
+ array.CopyTo(this.array, 0);
+ this.used = used;
+ this.first = first;
+ }
+
+ public Te Current
{
get
{
- if (used == 0)
- throw new IndexOutOfRangeException();
-
- var i = (current + 1 + index) % used;
- return array[i];
- }
- set
- {
- var devider = used > 0 ? used : array.Length;
- var i = (current + 1 + index) % devider;
- array[i] = value;
- UpdatedInvoke(current, value);
- }
- }
-
- ///
- /// событие на изменение элемента в массиве
- ///
- public event EventHandler<(int index, T value)>? Updated;
- private void UpdatedInvoke(int index, T value)
- {
- Updated?.Invoke(this, (index, value));
- }
-
- ///
- /// Агрегирование значения по всему массиву
- ///
- ///
- ///
- ///
- ///
- public Tout Aggregate(Func func, Tout startValue)
- {
- Tout result = startValue;
- for (int i = 0; i < used; i++)
- result = func(this[i], result);
- return result;
- }
-
- ///
- public IEnumerator GetEnumerator()
- => new CyclycListEnumerator(array, current, used);
-
- ///
- IEnumerator IEnumerable.GetEnumerator()
- => GetEnumerator();
-
- class CyclycListEnumerator : IEnumerator
- {
- private readonly Te[] array;
- private readonly int used;
- private readonly int first;
- private int current = -1;
-
- public CyclycListEnumerator(Te[] array, int first, int used)
- {
- this.array = new Te[array.Length];
- array.CopyTo(this.array, 0);
- this.used = used;
- this.first = first;
- }
-
- public Te Current
- {
- get
+ if (IsCurrentOk())
{
- if (IsCurrentOk())
- {
- var i = (current + first + 1) % used;
- return array[i];
- }
- else
- return default!;
+ var i = (current + first + 1) % used;
+ return array[i];
}
- }
-
- object? IEnumerator.Current => Current;
-
- public void Dispose() {; }
-
- private bool IsCurrentOk() => current >= 0 && current < used;
-
- public bool MoveNext()
- {
- if (current < used)
- current++;
- return IsCurrentOk();
- }
-
- public void Reset()
- {
- current = -1;
+ else
+ return default!;
}
}
- ///
- /// Очистить весь массив
- ///
- public void Clear()
+ object? IEnumerator.Current => Current;
+
+ public void Dispose() {; }
+
+ private bool IsCurrentOk() => current >= 0 && current < used;
+
+ public bool MoveNext()
+ {
+ if (current < used)
+ current++;
+ return IsCurrentOk();
+ }
+
+ public void Reset()
{
- used = 0;
current = -1;
}
}
+
+ ///
+ /// Очистить весь массив
+ ///
+ public void Clear()
+ {
+ used = 0;
+ current = -1;
+ }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/AuthDto.cs b/AsbCloudApp/Data/AuthDto.cs
index f2e2c20d..164f22c4 100644
--- a/AsbCloudApp/Data/AuthDto.cs
+++ b/AsbCloudApp/Data/AuthDto.cs
@@ -1,24 +1,23 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO для авторизации
+///
+public class AuthDto
{
///
- /// DTO для авторизации
+ /// Имя пользователя для входа
///
- public class AuthDto
- {
- ///
- /// Имя пользователя для входа
- ///
- [Required(ErrorMessage = "Логин не должен быть пустым")]
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")]
- public string Login { get; set; } = null!;
+ [Required(ErrorMessage = "Логин не должен быть пустым")]
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина логина от 1 до 50 символов")]
+ public string Login { get; set; } = null!;
- ///
- /// Пароль пользователя для входа
- ///
- [Required(ErrorMessage = "Пароль не должен быть пустым")]
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")]
- public string Password { get; set; } = null!;
- }
+ ///
+ /// Пароль пользователя для входа
+ ///
+ [Required(ErrorMessage = "Пароль не должен быть пустым")]
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина пароля от 1 до 50 символов")]
+ public string Password { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/BackgroundWorkDto.cs b/AsbCloudApp/Data/BackgroundWorkDto.cs
index d0e15b50..eccf6f1c 100644
--- a/AsbCloudApp/Data/BackgroundWorkDto.cs
+++ b/AsbCloudApp/Data/BackgroundWorkDto.cs
@@ -1,206 +1,205 @@
using System;
using System.Diagnostics;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Информация о фоновой работе
+///
+public class BackgroundWorkDto
{
///
- /// Информация о фоновой работе
+ /// Идентификатор работы. Должен быть уникальным. Используется в логах и передается в колбэки.
///
- public class BackgroundWorkDto
+ public string Id { get; init; } = null!;
+
+ ///
+ /// Класс описания состояния
+ ///
+ public class CurrentStateInfo
+ {
+ private string state = "start";
+
+ ///
+ /// Время последнего запуска
+ ///
+ public DateTime Start { get; } = DateTime.Now;
+
+ ///
+ /// Текущее время выполнения
+ ///
+ public TimeSpan ExecutionTime => DateTime.Now - Start;
+
+ ///
+ /// Текстовое описание того, что происходит в задаче.
+ ///
+ public string State
+ {
+ get => state;
+ internal set
+ {
+ state = value;
+ StateUpdate = DateTime.Now;
+ }
+ }
+
+ ///
+ /// Прогресс
+ ///
+ public double Progress { get; internal set; } = 0;
+
+ ///
+ /// Время последнего запуска
+ ///
+ public DateTime StateUpdate { get; private set; } = DateTime.Now;
+ }
+
+ ///
+ /// Инфо о последней ошибке
+ ///
+ public class LastErrorInfo : LastCompleteInfo
{
///
- /// Идентификатор работы. Должен быть уникальным. Используется в логах и передается в колбэки.
+ ///
///
- public string Id { get; init; } = null!;
-
- ///
- /// Класс описания состояния
- ///
- public class CurrentStateInfo
+ ///
+ ///
+ public LastErrorInfo(CurrentStateInfo state, string errorText)
+ : base(state)
{
- private string state = "start";
-
- ///
- /// Время последнего запуска
- ///
- public DateTime Start { get; } = DateTime.Now;
-
- ///
- /// Текущее время выполнения
- ///
- public TimeSpan ExecutionTime => DateTime.Now - Start;
-
- ///
- /// Текстовое описание того, что происходит в задаче.
- ///
- public string State
- {
- get => state;
- internal set
- {
- state = value;
- StateUpdate = DateTime.Now;
- }
- }
-
- ///
- /// Прогресс
- ///
- public double Progress { get; internal set; } = 0;
-
- ///
- /// Время последнего запуска
- ///
- public DateTime StateUpdate { get; private set; } = DateTime.Now;
+ ErrorText = errorText;
}
- ///
- /// Инфо о последней ошибке
- ///
- public class LastErrorInfo : LastCompleteInfo
- {
- ///
- ///
- ///
- ///
- ///
- public LastErrorInfo(CurrentStateInfo state, string errorText)
- : base(state)
- {
- ErrorText = errorText;
- }
-
- ///
- /// Последняя ошибка
- ///
- public string ErrorText { get; init; } = null!;
- }
-
- ///
- /// Инфо о последнем завершении
- ///
- public class LastCompleteInfo
- {
- ///
- /// Дата запуска
- ///
- public DateTime Start { get; init; }
-
- ///
- /// Дата завершения
- ///
- public DateTime End { get; init; }
-
- ///
- /// Продолжительность последнего выполнения
- ///
- public TimeSpan ExecutionTime => End - Start;
-
- ///
- /// Состояние на момент завершения
- ///
- public string State { get; init; }
-
- ///
- /// ctor
- ///
- ///
- public LastCompleteInfo(CurrentStateInfo state)
- {
- Start = state.Start;
- End = DateTime.Now;
- State = state.State;
- }
- }
-
- ///
- /// Текущее состояние
- ///
- public CurrentStateInfo? CurrentState { get; private set; }
-
///
/// Последняя ошибка
///
- public LastErrorInfo? LastError { get; private set; }
+ public string ErrorText { get; init; } = null!;
+ }
+
+ ///
+ /// Инфо о последнем завершении
+ ///
+ public class LastCompleteInfo
+ {
+ ///
+ /// Дата запуска
+ ///
+ public DateTime Start { get; init; }
///
- /// Последняя завершенная
+ /// Дата завершения
///
- public LastCompleteInfo? LastComplete { get; private set; }
+ public DateTime End { get; init; }
///
- /// Кол-во запусков
+ /// Продолжительность последнего выполнения
///
- public int CountStart { get; private set; }
+ public TimeSpan ExecutionTime => End - Start;
///
- /// Кол-во завершений
+ /// Состояние на момент завершения
///
- public int CountComplete { get; private set; }
+ public string State { get; init; }
///
- /// Кол-во ошибок
+ /// ctor
///
- public int CountErrors { get; private set; }
-
- ///
- /// Максимально допустимое время выполнения работы
- ///
- public TimeSpan Timeout { get; set; } = TimeSpan.FromMinutes(1);
-
- private string WorkNameForTrace => $"Backgroud work:\"{Id}\"";
-
- ///
- /// Обновления состояния при запуске работы
- ///
- protected void SetStatusStart()
+ ///
+ public LastCompleteInfo(CurrentStateInfo state)
{
- CurrentState = new();
- CountStart++;
- Trace.TraceInformation($"{WorkNameForTrace} state: starting");
- }
-
- ///
- /// Обновления состояния в процессе работы
- ///
- protected void UpdateStatus(string newState, double? progress)
- {
- if (CurrentState is null)
- return;
-
- CurrentState.State = newState;
- if (progress.HasValue)
- CurrentState.Progress = progress.Value;
-
- Trace.TraceInformation($"{WorkNameForTrace} state[{100*progress:#}%]: {newState}");
- }
-
- ///
- /// Обновления состояния при успешном завершении работы
- ///
- protected void SetStatusComplete()
- {
- CountComplete++;
- if (CurrentState is null)
- return;
-
- LastComplete = new(CurrentState);
- CurrentState = null;
- Trace.TraceInformation($"{WorkNameForTrace} state: completed");
- }
-
- ///
- /// Обновления состояния при ошибке в работе
- ///
- protected void SetLastError(string errorMessage)
- {
- CountErrors++;
- if (CurrentState is null)
- return;
-
- LastError = new LastErrorInfo(CurrentState, errorMessage);
- CurrentState = null;
- Trace.TraceError($"{WorkNameForTrace} throw exception[{CountErrors}]: {errorMessage}");
+ Start = state.Start;
+ End = DateTime.Now;
+ State = state.State;
}
}
+
+ ///
+ /// Текущее состояние
+ ///
+ public CurrentStateInfo? CurrentState { get; private set; }
+
+ ///
+ /// Последняя ошибка
+ ///
+ public LastErrorInfo? LastError { get; private set; }
+
+ ///
+ /// Последняя завершенная
+ ///
+ public LastCompleteInfo? LastComplete { get; private set; }
+
+ ///
+ /// Кол-во запусков
+ ///
+ public int CountStart { get; private set; }
+
+ ///
+ /// Кол-во завершений
+ ///
+ public int CountComplete { get; private set; }
+
+ ///
+ /// Кол-во ошибок
+ ///
+ public int CountErrors { get; private set; }
+
+ ///
+ /// Максимально допустимое время выполнения работы
+ ///
+ public TimeSpan Timeout { get; set; } = TimeSpan.FromMinutes(1);
+
+ private string WorkNameForTrace => $"Backgroud work:\"{Id}\"";
+
+ ///
+ /// Обновления состояния при запуске работы
+ ///
+ protected void SetStatusStart()
+ {
+ CurrentState = new();
+ CountStart++;
+ Trace.TraceInformation($"{WorkNameForTrace} state: starting");
+ }
+
+ ///
+ /// Обновления состояния в процессе работы
+ ///
+ protected void UpdateStatus(string newState, double? progress)
+ {
+ if (CurrentState is null)
+ return;
+
+ CurrentState.State = newState;
+ if (progress.HasValue)
+ CurrentState.Progress = progress.Value;
+
+ Trace.TraceInformation($"{WorkNameForTrace} state[{100*progress:#}%]: {newState}");
+ }
+
+ ///
+ /// Обновления состояния при успешном завершении работы
+ ///
+ protected void SetStatusComplete()
+ {
+ CountComplete++;
+ if (CurrentState is null)
+ return;
+
+ LastComplete = new(CurrentState);
+ CurrentState = null;
+ Trace.TraceInformation($"{WorkNameForTrace} state: completed");
+ }
+
+ ///
+ /// Обновления состояния при ошибке в работе
+ ///
+ protected void SetLastError(string errorMessage)
+ {
+ CountErrors++;
+ if (CurrentState is null)
+ return;
+
+ LastError = new LastErrorInfo(CurrentState, errorMessage);
+ CurrentState = null;
+ Trace.TraceError($"{WorkNameForTrace} throw exception[{CountErrors}]: {errorMessage}");
+ }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/ClusterDto.cs b/AsbCloudApp/Data/ClusterDto.cs
index 80eedfe4..36e5db20 100644
--- a/AsbCloudApp/Data/ClusterDto.cs
+++ b/AsbCloudApp/Data/ClusterDto.cs
@@ -2,39 +2,38 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO кустов
+///
+public class ClusterDto : MapPointBaseDto
{
///
- /// DTO кустов
+ /// ИД месторождения, необязательный
///
- public class ClusterDto : MapPointBaseDto
- {
- ///
- /// ИД месторождения, необязательный
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
- public int IdDeposit { get; set; }
-
- ///
- /// DTO месторождения
- ///
- public DepositBaseDto? Deposit { get; set; }
-
- ///
- /// Список скважин куста
- ///
- public IEnumerable Wells { get; set; } = Enumerable.Empty();
- }
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
+ public int IdDeposit { get; set; }
///
- /// DTO кустов
+ /// DTO месторождения
///
- public class ClusterBranchDto : MapPointBaseDto
- {
- ///
- /// Список скважин куста
- ///
- public IEnumerable Wells { get; set; } = Enumerable.Empty();
- }
+ public DepositBaseDto? Deposit { get; set; }
+
+ ///
+ /// Список скважин куста
+ ///
+ public IEnumerable Wells { get; set; } = Enumerable.Empty();
+}
+
+///
+/// DTO кустов
+///
+public class ClusterBranchDto : MapPointBaseDto
+{
+ ///
+ /// Список скважин куста
+ ///
+ public IEnumerable Wells { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/ClusterRopStatDto.cs b/AsbCloudApp/Data/ClusterRopStatDto.cs
index 386614dc..ecfee99e 100644
--- a/AsbCloudApp/Data/ClusterRopStatDto.cs
+++ b/AsbCloudApp/Data/ClusterRopStatDto.cs
@@ -1,22 +1,21 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Статистика механической скорости проходки (МСП) по кусту
+///
+public class ClusterRopStatDto
{
///
- /// Статистика механической скорости проходки (МСП) по кусту
+ /// Макс. механическая скорость проходки по кусту
///
- public class ClusterRopStatDto
- {
- ///
- /// Макс. механическая скорость проходки по кусту
- ///
- [Required]
- public double RopMax { get; set; }
+ [Required]
+ public double RopMax { get; set; }
- ///
- /// Средняя механическая скорость проходки по кусту
- ///
- [Required]
- public double RopAverage { get; set; }
- }
+ ///
+ /// Средняя механическая скорость проходки по кусту
+ ///
+ [Required]
+ public double RopAverage { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs
index 84ac8cb6..4e54faae 100644
--- a/AsbCloudApp/Data/CompanyDto.cs
+++ b/AsbCloudApp/Data/CompanyDto.cs
@@ -1,33 +1,32 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO компании
+///
+public class CompanyDto : IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// DTO компании
+ /// Название
///
- public class CompanyDto : IId
- {
- ///
- public int Id { get; set; }
+ [Required]
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 50 символов")]
+ public string Caption { get; set; } = null!;
- ///
- /// Название
- ///
- [Required]
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 50 символов")]
- public string Caption { get; set; } = null!;
+ ///
+ /// ИД типа компании
+ ///
+ [Required]
+ public int IdCompanyType { get; set; }
- ///
- /// ИД типа компании
- ///
- [Required]
- public int IdCompanyType { get; set; }
+ ///
+ /// Название типа компании
+ ///
+ [StringLength(255, MinimumLength = 1, ErrorMessage = "Допустимое имя типа компании от 1 до 255 символов")]
+ public string? CompanyTypeCaption { get; set; } = null!;
- ///
- /// Название типа компании
- ///
- [StringLength(255, MinimumLength = 1, ErrorMessage = "Допустимое имя типа компании от 1 до 255 символов")]
- public string? CompanyTypeCaption { get; set; } = null!;
-
- }
}
diff --git a/AsbCloudApp/Data/CompanyTypeDto.cs b/AsbCloudApp/Data/CompanyTypeDto.cs
index b543a1ae..6041d60d 100644
--- a/AsbCloudApp/Data/CompanyTypeDto.cs
+++ b/AsbCloudApp/Data/CompanyTypeDto.cs
@@ -1,33 +1,32 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO тип компании
+///
+public class CompanyTypeDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// DTO тип компании
+ /// Название типа компании
///
- public class CompanyTypeDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public string Caption { get; set; } = null!;
- ///
- /// Название типа компании
- ///
- [Required]
- public string Caption { get; set; } = null!;
+ ///
+ /// Порядок
+ ///
+ [Required]
+ public int Order { get; set; }
- ///
- /// Порядок
- ///
- [Required]
- public int Order { get; set; }
+ ///
+ /// Является ли контактом
+ ///
+ [Required]
+ public bool IsContact { get; set; }
- ///
- /// Является ли контактом
- ///
- [Required]
- public bool IsContact { get; set; }
-
- }
}
diff --git a/AsbCloudApp/Data/DataSaubStatDto.cs b/AsbCloudApp/Data/DataSaubStatDto.cs
index b8e27b37..3bb46d6d 100644
--- a/AsbCloudApp/Data/DataSaubStatDto.cs
+++ b/AsbCloudApp/Data/DataSaubStatDto.cs
@@ -1,136 +1,135 @@
using System;
using AsbCloudApp.Data.WellOperation;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// dto для хранения данных статистики сауб
+///
+public class DataSaubStatDto:IId
{
///
- /// dto для хранения данных статистики сауб
+ ///
///
- public class DataSaubStatDto:IId
- {
- ///
- ///
- ///
- public int Id { get; set; }
+ public int Id { get; set; }
- ///
- /// Дата и время начала
- ///
- public DateTimeOffset DateStart { get; set; }
+ ///
+ /// Дата и время начала
+ ///
+ public DateTimeOffset DateStart { get; set; }
- ///
- /// Дата и время окончания
- ///
- public DateTimeOffset DateEnd { get; set; }
+ ///
+ /// Дата и время окончания
+ ///
+ public DateTimeOffset DateEnd { get; set; }
- ///
- /// Глубина забоя по стволу начальная
- ///
- public double DepthStart { get; set; }
+ ///
+ /// Глубина забоя по стволу начальная
+ ///
+ public double DepthStart { get; set; }
- ///
- /// Глубина забоя по стволу конечная
- ///
- public double DepthEnd { get; set; }
+ ///
+ /// Глубина забоя по стволу конечная
+ ///
+ public double DepthEnd { get; set; }
- ///
- /// Скорость бурения
- ///
- public double Speed { get; set; }
+ ///
+ /// Скорость бурения
+ ///
+ public double Speed { get; set; }
- ///
- /// Ограничение скорости блока
- ///
- public double? BlockSpeedSp { get; set; }
+ ///
+ /// Ограничение скорости блока
+ ///
+ public double? BlockSpeedSp { get; set; }
- ///
- /// Давление
- ///
- public double Pressure { get; set; }
+ ///
+ /// Давление
+ ///
+ public double Pressure { get; set; }
- ///
- /// Давление холостого хода
- ///
- public double? PressureIdle { get; set; }
+ ///
+ /// Давление холостого хода
+ ///
+ public double? PressureIdle { get; set; }
- ///
- /// Ограничение фактического давления
- ///
- public double? PressureSp { get; set; }
+ ///
+ /// Ограничение фактического давления
+ ///
+ public double? PressureSp { get; set; }
- ///
- /// Фактическая нагрузка
- ///
- public double AxialLoad { get; set; }
+ ///
+ /// Фактическая нагрузка
+ ///
+ public double AxialLoad { get; set; }
- ///
- /// Ограничение факт. нагрузки
- ///
- public double? AxialLoadSp { get; set; }
+ ///
+ /// Ограничение факт. нагрузки
+ ///
+ public double? AxialLoadSp { get; set; }
- ///
- /// Максимально допустимая нагрузка
- ///
- public double? AxialLoadLimitMax { get; set; }
+ ///
+ /// Максимально допустимая нагрузка
+ ///
+ public double? AxialLoadLimitMax { get; set; }
- ///
- /// Фактический момент
- ///
- public double RotorTorque { get; set; }
+ ///
+ /// Фактический момент
+ ///
+ public double RotorTorque { get; set; }
- ///
- /// Ограничение факт. момента
- ///
- public double? RotorTorqueSp { get; set; }
+ ///
+ /// Ограничение факт. момента
+ ///
+ public double? RotorTorqueSp { get; set; }
- ///
- /// Максимально допустимый момент
- ///
- public double? RotorTorqueLimitMax { get; set; }
+ ///
+ /// Максимально допустимый момент
+ ///
+ public double? RotorTorqueLimitMax { get; set; }
- ///
- /// Работа при достижении ограничения
- ///
- public short? IdFeedRegulator { get; set; }
+ ///
+ /// Работа при достижении ограничения
+ ///
+ public short? IdFeedRegulator { get; set; }
- ///
- /// Фактическая скорость оборотов ВСП
- ///
- public double RotorSpeed { get; set; }
+ ///
+ /// Фактическая скорость оборотов ВСП
+ ///
+ public double RotorSpeed { get; set; }
- ///
- /// Название автоопределённой операции
- ///
- public int IdCategory { get; set; }
+ ///
+ /// Название автоопределённой операции
+ ///
+ public int IdCategory { get; set; }
- ///
- /// Флаги подсистем
- ///
- public int EnabledSubsystems { get; set; }
+ ///
+ /// Флаги подсистем
+ ///
+ public int EnabledSubsystems { get; set; }
- ///
- /// Наличие или отсутствие осцилляции
- ///
- public bool HasOscillation { get; set; }
+ ///
+ /// Наличие или отсутствие осцилляции
+ ///
+ public bool HasOscillation { get; set; }
- ///
- /// Фактический расход
- ///
- public double Flow { get; set; }
+ ///
+ /// Фактический расход
+ ///
+ public double Flow { get; set; }
- ///
- /// Ключ телеметрии
- ///
- public int IdTelemetry { get; set; }
+ ///
+ /// Ключ телеметрии
+ ///
+ public int IdTelemetry { get; set; }
- ///
- /// Телеметрия
- ///
- public TelemetryDto Telemetry { get; set; } = null!;
+ ///
+ /// Телеметрия
+ ///
+ public TelemetryDto Telemetry { get; set; } = null!;
- ///
- /// Категория автоопределенной операции
- ///
- public WellOperationCategoryDto OperationCategory { get; set; } = null!;
- }
+ ///
+ /// Категория автоопределенной операции
+ ///
+ public WellOperationCategoryDto OperationCategory { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/DatesRangeDto.cs b/AsbCloudApp/Data/DatesRangeDto.cs
index 0b0e5ef9..8be2a6f7 100644
--- a/AsbCloudApp/Data/DatesRangeDto.cs
+++ b/AsbCloudApp/Data/DatesRangeDto.cs
@@ -1,23 +1,22 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Диапазон дат
+///
+public class DatesRangeDto
{
///
- /// Диапазон дат
+ /// Дата начала диапазона
///
- public class DatesRangeDto
- {
- ///
- /// Дата начала диапазона
- ///
- [Required]
- public DateTimeOffset From { get; set; }
+ [Required]
+ public DateTimeOffset From { get; set; }
- ///
- /// Дата окончания диапазона
- ///
- [Required]
- public DateTimeOffset To { get; set; }
- }
+ ///
+ /// Дата окончания диапазона
+ ///
+ [Required]
+ public DateTimeOffset To { get; set; }
}
diff --git a/AsbCloudApp/Data/DepositDto.cs b/AsbCloudApp/Data/DepositDto.cs
index a0011022..01121955 100644
--- a/AsbCloudApp/Data/DepositDto.cs
+++ b/AsbCloudApp/Data/DepositDto.cs
@@ -2,39 +2,38 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
-{
+namespace AsbCloudApp.Data;
+
#nullable enable
- ///
- /// DTO Месторождения
- ///
- public class DepositBaseDto : MapPointBaseDto
- {
- }
-
- ///
- /// DTO Месторождения с кустами
- ///
- public class DepositDto : MapPointBaseDto
- {
- ///
- /// Кусты месторождения
- ///
- [Required]
- public IEnumerable Clusters { get; set; } = Enumerable.Empty();
- }
-
- ///
- /// DTO Месторождения с кустами
- ///
- public class DepositBranchDto : MapPointBaseDto
- {
- ///
- /// Кусты месторождения
- ///
- [Required]
- public IEnumerable Clusters { get; set; } = Enumerable.Empty();
- }
+///
+/// DTO Месторождения
+///
+public class DepositBaseDto : MapPointBaseDto
+{
+}
+
+///
+/// DTO Месторождения с кустами
+///
+public class DepositDto : MapPointBaseDto
+{
+ ///
+ /// Кусты месторождения
+ ///
+ [Required]
+ public IEnumerable Clusters { get; set; } = Enumerable.Empty();
+}
+
+///
+/// DTO Месторождения с кустами
+///
+public class DepositBranchDto : MapPointBaseDto
+{
+ ///
+ /// Кусты месторождения
+ ///
+ [Required]
+ public IEnumerable Clusters { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/DetectedOperation/DetectedOperationDrillersStatDto.cs b/AsbCloudApp/Data/DetectedOperation/DetectedOperationDrillersStatDto.cs
index 122ad081..7c93adf4 100644
--- a/AsbCloudApp/Data/DetectedOperation/DetectedOperationDrillersStatDto.cs
+++ b/AsbCloudApp/Data/DetectedOperation/DetectedOperationDrillersStatDto.cs
@@ -1,42 +1,41 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.DetectedOperation
+namespace AsbCloudApp.Data.DetectedOperation;
+
+///
+/// Статистика по операциям бурильщика
+///
+public class DetectedOperationDrillersStatDto
{
///
- /// Статистика по операциям бурильщика
+ /// Бурильщик
///
- public class DetectedOperationDrillersStatDto
- {
- ///
- /// Бурильщик
- ///
- public DrillerDto? Driller { get; set; }
+ public DrillerDto? Driller { get; set; }
- ///
- /// Количество операции
- ///
- [Required]
- public int Count { get; set; }
+ ///
+ /// Количество операции
+ ///
+ [Required]
+ public int Count { get; set; }
- ///
- /// Среднее по ключевому показателю
- ///
- [Required]
- public double AverageValue { get; set; }
+ ///
+ /// Среднее по ключевому показателю
+ ///
+ [Required]
+ public double AverageValue { get; set; }
- ///
- /// Среднее целевого показателя
- ///
- public double? AverageTargetValue { get; set; }
+ ///
+ /// Среднее целевого показателя
+ ///
+ public double? AverageTargetValue { get; set; }
- ///
- /// Коэффициент эффективности, %
- ///
- public double? Efficiency { get; set; }
+ ///
+ /// Коэффициент эффективности, %
+ ///
+ public double? Efficiency { get; set; }
- ///
- /// Коэффициент потерь
- ///
- public double? Loss { get; set; }
- }
+ ///
+ /// Коэффициент потерь
+ ///
+ public double? Loss { get; set; }
}
diff --git a/AsbCloudApp/Data/DetectedOperation/DetectedOperationListDto.cs b/AsbCloudApp/Data/DetectedOperation/DetectedOperationListDto.cs
index 08c6b108..c9b29a62 100644
--- a/AsbCloudApp/Data/DetectedOperation/DetectedOperationListDto.cs
+++ b/AsbCloudApp/Data/DetectedOperation/DetectedOperationListDto.cs
@@ -2,23 +2,22 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data.DetectedOperation
+namespace AsbCloudApp.Data.DetectedOperation;
+
+///
+/// Автоматически определяемая операция
+///
+public class DetectedOperationListDto
{
///
- /// Автоматически определяемая операция
+ /// Список всех операций
///
- public class DetectedOperationListDto
- {
- ///
- /// Список всех операций
- ///
- [Required]
- public IEnumerable Operations { get; set; } = Enumerable.Empty();
+ [Required]
+ public IEnumerable Operations { get; set; } = Enumerable.Empty();
- ///
- /// Статистика по бурильщикам
- ///
- [Required]
- public IEnumerable Stats { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Статистика по бурильщикам
+ ///
+ [Required]
+ public IEnumerable Stats { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/DetectedOperation/DetectedOperationStatDto.cs b/AsbCloudApp/Data/DetectedOperation/DetectedOperationStatDto.cs
index b8007c85..2624c307 100644
--- a/AsbCloudApp/Data/DetectedOperation/DetectedOperationStatDto.cs
+++ b/AsbCloudApp/Data/DetectedOperation/DetectedOperationStatDto.cs
@@ -1,69 +1,68 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.DetectedOperation
+namespace AsbCloudApp.Data.DetectedOperation;
+
+///
+/// Статистика по операциям например за период.
+///
+public class DetectedOperationStatDto
{
///
- /// Статистика по операциям например за период.
+ /// Id названия/описания операции
///
- public class DetectedOperationStatDto
- {
- ///
- /// Id названия/описания операции
- ///
- [Required]
- public int IdCategory { get; set; }
+ [Required]
+ public int IdCategory { get; set; }
- ///
- /// Название операции
- ///
- public string Category { get; set; } = string.Empty;
+ ///
+ /// Название операции
+ ///
+ public string Category { get; set; } = string.Empty;
- ///
- /// Количество операций
- ///
- [Required]
- public int Count { get; set; }
+ ///
+ /// Количество операций
+ ///
+ [Required]
+ public int Count { get; set; }
- ///
- /// Среднее по ключевому показателю
- ///
- [Required]
- public double ValueAverage { get; set; }
+ ///
+ /// Среднее по ключевому показателю
+ ///
+ [Required]
+ public double ValueAverage { get; set; }
- ///
- /// Мин по ключевому показателю
- ///
- [Required]
- public double ValueMin { get; set; }
+ ///
+ /// Мин по ключевому показателю
+ ///
+ [Required]
+ public double ValueMin { get; set; }
- ///
- /// Макс по ключевому показателю
- ///
- [Required]
- public double ValueMax { get; set; }
+ ///
+ /// Макс по ключевому показателю
+ ///
+ [Required]
+ public double ValueMax { get; set; }
- ///
- /// Суммарное время операций, мин
- ///
- [Required]
- public double MinutesTotal { get; set; }
+ ///
+ /// Суммарное время операций, мин
+ ///
+ [Required]
+ public double MinutesTotal { get; set; }
- ///
- /// Мин продолжительность операции, мин
- ///
- [Required]
- public double MinutesMin { get; set; }
+ ///
+ /// Мин продолжительность операции, мин
+ ///
+ [Required]
+ public double MinutesMin { get; set; }
- ///
- /// Макс продолжительность операции, мин
- ///
- [Required]
- public double MinutesMax { get; set; }
+ ///
+ /// Макс продолжительность операции, мин
+ ///
+ [Required]
+ public double MinutesMax { get; set; }
- ///
- /// Средняя продолжительность операции, мин
- ///
- [Required]
- public double MinutesAverage { get; set; }
- }
+ ///
+ /// Средняя продолжительность операции, мин
+ ///
+ [Required]
+ public double MinutesAverage { get; set; }
}
diff --git a/AsbCloudApp/Data/DetectedOperation/DetectedOperationWithDrillerDto.cs b/AsbCloudApp/Data/DetectedOperation/DetectedOperationWithDrillerDto.cs
index af5ff539..87990a6d 100644
--- a/AsbCloudApp/Data/DetectedOperation/DetectedOperationWithDrillerDto.cs
+++ b/AsbCloudApp/Data/DetectedOperation/DetectedOperationWithDrillerDto.cs
@@ -1,18 +1,17 @@
-namespace AsbCloudApp.Data.DetectedOperation
+namespace AsbCloudApp.Data.DetectedOperation;
+
+///
+/// Автоматически определяемая операция
+///
+public class DetectedOperationWithDrillerDto : DetectedOperationDto
{
///
- /// Автоматически определяемая операция
+ /// Бурильщик
///
- public class DetectedOperationWithDrillerDto : DetectedOperationDto
- {
- ///
- /// Бурильщик
- ///
- public DrillerDto? Driller { get; set; }
+ public DrillerDto? Driller { get; set; }
- ///
- /// Целевые/нормативные показатели
- ///
- public OperationValueDto? OperationValue { get; set; }
- }
+ ///
+ /// Целевые/нормативные показатели
+ ///
+ public OperationValueDto? OperationValue { get; set; }
}
diff --git a/AsbCloudApp/Data/DrillParamsDto.cs b/AsbCloudApp/Data/DrillParamsDto.cs
index 788d5207..d367b53a 100644
--- a/AsbCloudApp/Data/DrillParamsDto.cs
+++ b/AsbCloudApp/Data/DrillParamsDto.cs
@@ -1,52 +1,51 @@
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+
+///
+/// DTO параметров бурения
+///
+public class DrillParamsDto : IId, IWellRelated
{
+ ///
+ public int Id { get; set; }
+
+ ///
+ public int IdWell { get; set; }
///
- /// DTO параметров бурения
+ /// Глубина интервала
///
- public class DrillParamsDto : IId, IWellRelated
- {
- ///
- public int Id { get; set; }
+ public MinMaxDto Depth { get; set; } = null!;
- ///
- public int IdWell { get; set; }
+ ///
+ /// id well section type.
+ ///
+ public int IdWellSectionType { get; set; }
- ///
- /// Глубина интервала
- ///
- public MinMaxDto Depth { get; set; } = null!;
+ ///
+ /// axial load
+ ///
+ public MinMaxExtendedViewDto AxialLoad { get; set; } = null!;
- ///
- /// id well section type.
- ///
- public int IdWellSectionType { get; set; }
+ ///
+ /// pressure
+ ///
+ public MinMaxExtendedViewDto Pressure { get; set; } = null!;
- ///
- /// axial load
- ///
- public MinMaxExtendedViewDto AxialLoad { get; set; } = null!;
+ ///
+ /// rotor torque
+ ///
+ public MinMaxExtendedViewDto RotorTorque { get; set; } = null!;
- ///
- /// pressure
- ///
- public MinMaxExtendedViewDto Pressure { get; set; } = null!;
+ ///
+ /// rotor speed
+ ///
+ public MinMaxExtendedViewDto RotorSpeed { get; set; } = null!;
- ///
- /// rotor torque
- ///
- public MinMaxExtendedViewDto RotorTorque { get; set; } = null!;
-
- ///
- /// rotor speed
- ///
- public MinMaxExtendedViewDto RotorSpeed { get; set; } = null!;
-
- ///
- /// flow
- ///
- public MinMaxExtendedViewDto Flow { get; set; } = null!;
- }
+ ///
+ /// flow
+ ///
+ public MinMaxExtendedViewDto Flow { get; set; } = null!;
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/DrillTestReport/DrillTestReportDataDto.cs b/AsbCloudApp/Data/DrillTestReport/DrillTestReportDataDto.cs
index 1e7a529e..17d54f85 100644
--- a/AsbCloudApp/Data/DrillTestReport/DrillTestReportDataDto.cs
+++ b/AsbCloudApp/Data/DrillTestReport/DrillTestReportDataDto.cs
@@ -1,26 +1,25 @@
using AsbCloudApp.Data.SAUB;
using System;
-namespace AsbCloudApp.Data.DrillTestReport
+namespace AsbCloudApp.Data.DrillTestReport;
+
+///
+/// Информация о drill test, выгружаемая в отчете
+///
+public class DrillTestReportDataDto
{
///
- /// Информация о drill test, выгружаемая в отчете
+ /// Данные для отчета
///
- public class DrillTestReportDataDto
- {
- ///
- /// Данные для отчета
- ///
- public DrillTestDto Data { get; set; } = null!;
+ public DrillTestDto Data { get; set; } = null!;
- ///
- /// Заголовок отчета
- ///
- public string Caption { get; set; } = null!;
+ ///
+ /// Заголовок отчета
+ ///
+ public string Caption { get; set; } = null!;
- ///
- /// Дата отчета
- ///
- public DateTimeOffset Date { get; set; } = DateTimeOffset.Now;
- }
+ ///
+ /// Дата отчета
+ ///
+ public DateTimeOffset Date { get; set; } = DateTimeOffset.Now;
}
diff --git a/AsbCloudApp/Data/DrillTestReport/DrillTestReportInfoDto.cs b/AsbCloudApp/Data/DrillTestReport/DrillTestReportInfoDto.cs
index 38730eef..18234a6a 100644
--- a/AsbCloudApp/Data/DrillTestReport/DrillTestReportInfoDto.cs
+++ b/AsbCloudApp/Data/DrillTestReport/DrillTestReportInfoDto.cs
@@ -1,29 +1,28 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.DrillTestReport
+namespace AsbCloudApp.Data.DrillTestReport;
+
+///
+/// Базовая информация о drill_test отчёте
+///
+public class DrillTestReportInfoDto : ReportInfoDto
{
///
- /// Базовая информация о drill_test отчёте
+ /// Идентификатор отчета
///
- public class DrillTestReportInfoDto : ReportInfoDto
- {
- ///
- /// Идентификатор отчета
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// Проходка
- ///
- [Required]
- public float DrillDepth { get; set; }
+ ///
+ /// Проходка
+ ///
+ [Required]
+ public float DrillDepth { get; set; }
- ///
- /// Дата и время
- ///
- [Required]
- public DateTimeOffset DateTime { get; set; }
- }
+ ///
+ /// Дата и время
+ ///
+ [Required]
+ public DateTimeOffset DateTime { get; set; }
}
diff --git a/AsbCloudApp/Data/DrillerDto.cs b/AsbCloudApp/Data/DrillerDto.cs
index e920f111..1a11bd2a 100644
--- a/AsbCloudApp/Data/DrillerDto.cs
+++ b/AsbCloudApp/Data/DrillerDto.cs
@@ -1,33 +1,32 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Описание данных для бурильщика
+///
+public class DrillerDto : IId
{
///
- /// Описание данных для бурильщика
+ /// Идентификатор в БД
///
- public class DrillerDto : IId
- {
- ///
- /// Идентификатор в БД
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// Имя
- ///
- [Required]
- public string Name { get; set; } = null!;
+ ///
+ /// Имя
+ ///
+ [Required]
+ public string Name { get; set; } = null!;
- ///
- /// Фамилия
- ///
- [Required]
- public string Surname { get; set; } = null!;
+ ///
+ /// Фамилия
+ ///
+ [Required]
+ public string Surname { get; set; } = null!;
- ///
- /// Отчество
- ///
- public string? Patronymic { get; set; }
- }
+ ///
+ /// Отчество
+ ///
+ public string? Patronymic { get; set; }
}
diff --git a/AsbCloudApp/Data/DrillingProgramPartDto.cs b/AsbCloudApp/Data/DrillingProgramPartDto.cs
index 0e9917ba..bd771fe6 100644
--- a/AsbCloudApp/Data/DrillingProgramPartDto.cs
+++ b/AsbCloudApp/Data/DrillingProgramPartDto.cs
@@ -3,60 +3,59 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Часть программы бурения
+///
+public class DrillingProgramPartDto
{
///
- /// Часть программы бурения
+ /// Название
///
- public class DrillingProgramPartDto
- {
- ///
- /// Название
- ///
- [Required]
- public string Name { get; set; } = string.Empty;
+ [Required]
+ public string Name { get; set; } = string.Empty;
- ///
- /// ИД категории файла
- ///
- [Required]
- public int IdFileCategory { get; set; }
+ ///
+ /// ИД категории файла
+ ///
+ [Required]
+ public int IdFileCategory { get; set; }
- ///
- /// 0 - NoFile
- /// 1 - approving
- /// 2 - completely approved
- ///
- [Required]
- public int IdState { get; set; }
+ ///
+ /// 0 - NoFile
+ /// 1 - approving
+ /// 2 - completely approved
+ ///
+ [Required]
+ public int IdState { get; set; }
- ///
- /// Публикаторы. Могут загружать файл этой категории
- ///
- [Required]
- public IEnumerable Publishers { get; set; } = Enumerable.Empty();
+ ///
+ /// Публикаторы. Могут загружать файл этой категории
+ ///
+ [Required]
+ public IEnumerable Publishers { get; set; } = Enumerable.Empty();
- ///
- /// Согласованты. Могут согласовывать загруженные файлы этой категории
- ///
- [Required]
- public IEnumerable Approvers { get; set; } = Enumerable.Empty();
+ ///
+ /// Согласованты. Могут согласовывать загруженные файлы этой категории
+ ///
+ [Required]
+ public IEnumerable Approvers { get; set; } = Enumerable.Empty();
- ///
- /// Разрешение для текущего пользователя согласовывать документ
- ///
- [Required]
- public bool PermissionToApprove { get; set; }
+ ///
+ /// Разрешение для текущего пользователя согласовывать документ
+ ///
+ [Required]
+ public bool PermissionToApprove { get; set; }
- ///
- /// Разрешение для текущего пользователя загружать документ
- ///
- [Required]
- public bool PermissionToUpload { get; set; }
+ ///
+ /// Разрешение для текущего пользователя загружать документ
+ ///
+ [Required]
+ public bool PermissionToUpload { get; set; }
- ///
- /// Ссылка на документ.
- ///
- public FileInfoDto? File { get; set; }
- }
+ ///
+ /// Ссылка на документ.
+ ///
+ public FileInfoDto? File { get; set; }
}
diff --git a/AsbCloudApp/Data/DrillingProgramStateDto.cs b/AsbCloudApp/Data/DrillingProgramStateDto.cs
index 4368f4a3..247877a6 100644
--- a/AsbCloudApp/Data/DrillingProgramStateDto.cs
+++ b/AsbCloudApp/Data/DrillingProgramStateDto.cs
@@ -2,60 +2,59 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO состояния формирования программы бурения
+///
+public class DrillingProgramStateDto
{
///
- /// DTO состояния формирования программы бурения
+ /// 0 - не инициировано
+ /// 1 - загрузка и согласование
+ /// 2 - формируется (несколько минут)
+ /// 3 - готова
///
- public class DrillingProgramStateDto
- {
- ///
- /// 0 - не инициировано
- /// 1 - загрузка и согласование
- /// 2 - формируется (несколько минут)
- /// 3 - готова
- ///
- [Required]
- public int IdState { get; set; }
-
- ///
- /// Ошибка при формировании
- ///
- public DrillingProgramCreateError? Error { get; set; }
-
- ///
- /// Файл сформированной программы бурения
- ///
- public FileInfoDto? Program { get; set; }
-
- ///
- /// Разрешение редактировать части программы бурения
- ///
- [Required]
- public bool PermissionToEdit { get; set; }
-
- ///
- /// Список частей программы бурения
- ///
- [Required]
- public IEnumerable Parts { get; set; } = Enumerable.Empty();
- }
+ [Required]
+ public int IdState { get; set; }
///
- /// DTO ошибки при создании программы бурения
+ /// Ошибка при формировании
///
- public class DrillingProgramCreateError
- {
- ///
- /// Текст ошибки для отображения пользователю
- ///
- [Required]
- public string Message { get; set; } = string.Empty;
+ public DrillingProgramCreateError? Error { get; set; }
- ///
- /// Текст ошибки для разработчика
- ///
- [Required]
- public string Exception { get; set; } = string.Empty;
- }
+ ///
+ /// Файл сформированной программы бурения
+ ///
+ public FileInfoDto? Program { get; set; }
+
+ ///
+ /// Разрешение редактировать части программы бурения
+ ///
+ [Required]
+ public bool PermissionToEdit { get; set; }
+
+ ///
+ /// Список частей программы бурения
+ ///
+ [Required]
+ public IEnumerable Parts { get; set; } = Enumerable.Empty();
+}
+
+///
+/// DTO ошибки при создании программы бурения
+///
+public class DrillingProgramCreateError
+{
+ ///
+ /// Текст ошибки для отображения пользователю
+ ///
+ [Required]
+ public string Message { get; set; } = string.Empty;
+
+ ///
+ /// Текст ошибки для разработчика
+ ///
+ [Required]
+ public string Exception { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/FaqDto.cs b/AsbCloudApp/Data/FaqDto.cs
index 28cc829b..ace7c58b 100644
--- a/AsbCloudApp/Data/FaqDto.cs
+++ b/AsbCloudApp/Data/FaqDto.cs
@@ -1,73 +1,72 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO для faq-вопроса
+///
+public class FaqDto : IId
{
///
- /// DTO для faq-вопроса
+ /// ключ вопроса
///
- public class FaqDto : IId
- {
- ///
- /// ключ вопроса
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// ключ автора вопроса
- ///
- public int? IdAuthorQuestion { get; set; }
+ ///
+ /// ключ автора вопроса
+ ///
+ public int? IdAuthorQuestion { get; set; }
- ///
- /// автор ответа
- ///
- public int? IdAuthorAnswer { get; set; }
+ ///
+ /// автор ответа
+ ///
+ public int? IdAuthorAnswer { get; set; }
- ///
- /// дата создания вопроса
- ///
- public DateTimeOffset? DateCreatedQuestion { get; set; }
+ ///
+ /// дата создания вопроса
+ ///
+ public DateTimeOffset? DateCreatedQuestion { get; set; }
- ///
- /// текст вопроса
- ///
- [Required]
- public string Question { get; set; } = null!;
+ ///
+ /// текст вопроса
+ ///
+ [Required]
+ public string Question { get; set; } = null!;
- ///
- /// текст ответа
- ///
- public string? Answer { get; set; }
+ ///
+ /// текст ответа
+ ///
+ public string? Answer { get; set; }
- ///
- /// статус вопроса
- ///
- [Required]
- public int State { get; set; } = 0;
+ ///
+ /// статус вопроса
+ ///
+ [Required]
+ public int State { get; set; } = 0;
- ///
- /// Счетчик повторений вопроса
- ///
- [Required]
- public int CounterQuestion { get; set; } = 1;
+ ///
+ /// Счетчик повторений вопроса
+ ///
+ [Required]
+ public int CounterQuestion { get; set; } = 1;
- ///
- /// Частый вопрос
- ///
- [Required]
- public bool IsFrequently { get; set; } = false;
+ ///
+ /// Частый вопрос
+ ///
+ [Required]
+ public bool IsFrequently { get; set; } = false;
- ///
- /// Автор вопроса
- ///
- [Required]
- public string AurhorQuestionName { get; set; } = string.Empty;
+ ///
+ /// Автор вопроса
+ ///
+ [Required]
+ public string AurhorQuestionName { get; set; } = string.Empty;
- ///
- /// Автор ответа
- ///
- public string? AurhorAnswerName { get; set; }
- }
+ ///
+ /// Автор ответа
+ ///
+ public string? AurhorAnswerName { get; set; }
}
diff --git a/AsbCloudApp/Data/FileCategoryDto.cs b/AsbCloudApp/Data/FileCategoryDto.cs
index f55fdb30..372d6143 100644
--- a/AsbCloudApp/Data/FileCategoryDto.cs
+++ b/AsbCloudApp/Data/FileCategoryDto.cs
@@ -1,25 +1,24 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO категории файла
+///
+public class FileCategoryDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// DTO категории файла
+ /// полное название
///
- public class FileCategoryDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public string Name { get; set; } = null!;
- ///
- /// полное название
- ///
- [Required]
- public string Name { get; set; } = null!;
-
- ///
- /// сокращенное название
- ///
- public string ShortName { get; set; } = string.Empty;
- }
+ ///
+ /// сокращенное название
+ ///
+ public string ShortName { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/FileInfoDto.cs b/AsbCloudApp/Data/FileInfoDto.cs
index 2e673ed0..e14a9cf1 100644
--- a/AsbCloudApp/Data/FileInfoDto.cs
+++ b/AsbCloudApp/Data/FileInfoDto.cs
@@ -4,68 +4,67 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO информации о файле. Используется для загрузки файла.
+///
+public class FileInfoDto : IId, IWellRelated
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
+ public int IdWell { get; set; }
+
///
- /// DTO информации о файле. Используется для загрузки файла.
+ /// id категории файла
///
- public class FileInfoDto : IId, IWellRelated
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
+ public int IdCategory { get; set; }
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
- public int IdWell { get; set; }
+ ///
+ /// Id автора
+ ///
+ public int? IdAuthor { get; set; }
- ///
- /// id категории файла
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
- public int IdCategory { get; set; }
+ ///
+ /// имя файла
+ ///
+ [Required]
+ [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
+ public string Name { get; set; } = null!;
- ///
- /// Id автора
- ///
- public int? IdAuthor { get; set; }
+ ///
+ /// дата загрузки
+ ///
+ [Required]
+ public DateTimeOffset UploadDate { get; set; }
- ///
- /// имя файла
- ///
- [Required]
- [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
- public string Name { get; set; } = null!;
+ ///
+ /// размер в байтах
+ ///
+ [Required]
+ public long Size { get; set; }
- ///
- /// дата загрузки
- ///
- [Required]
- public DateTimeOffset UploadDate { get; set; }
+ ///
+ /// Помечен как удаленный
+ ///
+ [Required]
+ public bool IsDeleted { get; set; }
- ///
- /// размер в байтах
- ///
- [Required]
- public long Size { get; set; }
+ ///
+ /// DTO автора
+ ///
+ public UserDto? Author { get; set; }
- ///
- /// Помечен как удаленный
- ///
- [Required]
- public bool IsDeleted { get; set; }
-
- ///
- /// DTO автора
- ///
- public UserDto? Author { get; set; }
-
- ///
- /// список отметок файла
- ///
- [Required]
- public IEnumerable FileMarks { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// список отметок файла
+ ///
+ [Required]
+ public IEnumerable FileMarks { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/FileMarkDto.cs b/AsbCloudApp/Data/FileMarkDto.cs
index ad48f018..9c87bf4a 100644
--- a/AsbCloudApp/Data/FileMarkDto.cs
+++ b/AsbCloudApp/Data/FileMarkDto.cs
@@ -2,55 +2,54 @@ using System;
using System.ComponentModel.DataAnnotations;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Отметка для файла
+///
+public class FileMarkDto: IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// Отметка для файла
+ /// id файла
///
- public class FileMarkDto: IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
+ public int IdFile { get; set; }
- ///
- /// id файла
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
- public int IdFile { get; set; }
+ ///
+ /// 0 - отклонен
+ /// 1 - согласован
+ ///
+ [Required]
+ [Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
+ public int IdMarkType { get; set; }
- ///
- /// 0 - отклонен
- /// 1 - согласован
- ///
- [Required]
- [Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
- public int IdMarkType { get; set; }
+ ///
+ /// дата/время добавления.
+ /// Необязательно указывать в запросе на создание.
+ ///
+ [Required]
+ public DateTimeOffset DateCreated { get; set; }
- ///
- /// дата/время добавления.
- /// Необязательно указывать в запросе на создание.
- ///
- [Required]
- public DateTimeOffset DateCreated { get; set; }
+ ///
+ /// Полезный комментарий
+ ///
+ [StringLength(4096, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 4096 символов")]
+ public string? Comment { get; set; }
- ///
- /// Полезный комментарий
- ///
- [StringLength(4096, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 4096 символов")]
- public string? Comment { get; set; }
+ ///
+ /// признак удаления отметки
+ ///
+ [Required]
+ public bool IsDeleted { get; set; }
- ///
- /// признак удаления отметки
- ///
- [Required]
- public bool IsDeleted { get; set; }
-
- ///
- /// Пользователь создающий отметку.
- /// Необязательно указывать в запросе на создание.
- ///
- public UserDto? User { get; set; }
- }
+ ///
+ /// Пользователь создающий отметку.
+ /// Необязательно указывать в запросе на создание.
+ ///
+ public UserDto? User { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/GTR/JsonValue.cs b/AsbCloudApp/Data/GTR/JsonValue.cs
index 15df0604..0da94b98 100644
--- a/AsbCloudApp/Data/GTR/JsonValue.cs
+++ b/AsbCloudApp/Data/GTR/JsonValue.cs
@@ -1,14 +1,13 @@
-namespace AsbCloudApp.Data.GTR
+namespace AsbCloudApp.Data.GTR;
+
+///
+/// Класс позволяющий хранить значение неопределенного типа.
+/// Все возможные типы должны быть описаны в JsonValueJsonConverter.
+///
+///
+public record JsonValue(object Value)
{
- ///
- /// Класс позволяющий хранить значение неопределенного типа.
- /// Все возможные типы должны быть описаны в JsonValueJsonConverter.
- ///
- ///
- public record JsonValue(object Value)
- {
- ///
- public override string ToString()
- => Value.ToString() ?? string.Empty;
- }
+ ///
+ public override string ToString()
+ => Value.ToString() ?? string.Empty;
}
diff --git a/AsbCloudApp/Data/GTR/WitsItemRecordDto.cs b/AsbCloudApp/Data/GTR/WitsItemRecordDto.cs
index f6dfde81..e0011c01 100644
--- a/AsbCloudApp/Data/GTR/WitsItemRecordDto.cs
+++ b/AsbCloudApp/Data/GTR/WitsItemRecordDto.cs
@@ -1,35 +1,34 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.GTR
+namespace AsbCloudApp.Data.GTR;
+
+///
+/// Запись WITS
+///
+public class WitsItemRecordDto
{
///
- /// Запись WITS
+ /// Record Id
///
- public class WitsItemRecordDto
- {
- ///
- /// Record Id
- ///
- [Required]
- public int IdRecord { get; set; }
+ [Required]
+ public int IdRecord { get; set; }
- ///
- /// Item Id
- ///
- [Required]
- public int IdItem { get; set; }
+ ///
+ /// Item Id
+ ///
+ [Required]
+ public int IdItem { get; set; }
- ///
- /// Дата создания записи
- ///
- [Required]
- public DateTime Date { get; set; }
+ ///
+ /// Дата создания записи
+ ///
+ [Required]
+ public DateTime Date { get; set; }
- ///
- /// Значение
- ///
- [Required]
- public JsonValue Value { get; set; } = default!;
- }
+ ///
+ /// Значение
+ ///
+ [Required]
+ public JsonValue Value { get; set; } = default!;
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/GTR/WitsRecordDto.cs b/AsbCloudApp/Data/GTR/WitsRecordDto.cs
index e5469b9a..f41330d6 100644
--- a/AsbCloudApp/Data/GTR/WitsRecordDto.cs
+++ b/AsbCloudApp/Data/GTR/WitsRecordDto.cs
@@ -2,29 +2,28 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.GTR
+namespace AsbCloudApp.Data.GTR;
+
+///
+/// Запись WITS
+///
+public class WitsRecordDto
{
///
- /// Запись WITS
+ /// Id записи
///
- public class WitsRecordDto
- {
- ///
- /// Id записи
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// Дата создания записи
- ///
- [Required]
- public DateTime Date { get; set; }
+ ///
+ /// Дата создания записи
+ ///
+ [Required]
+ public DateTime Date { get; set; }
- ///
- /// Параметры. Ключ - id_item. ValueContainer содержит значение.
- ///
- [Required]
- public Dictionary Items { get; set; } = new();
- }
+ ///
+ /// Параметры. Ключ - id_item. ValueContainer содержит значение.
+ ///
+ [Required]
+ public Dictionary Items { get; set; } = new();
}
diff --git a/AsbCloudApp/Data/IId.cs b/AsbCloudApp/Data/IId.cs
index 4449fa23..0788218a 100644
--- a/AsbCloudApp/Data/IId.cs
+++ b/AsbCloudApp/Data/IId.cs
@@ -1,13 +1,12 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Интерфейс данных с Id
+///
+public interface IId
{
///
- /// Интерфейс данных с Id
+ /// Идентификатор БД
///
- public interface IId
- {
- ///
- /// Идентификатор БД
- ///
- public int Id { get; set; }
- }
+ public int Id { get; set; }
}
diff --git a/AsbCloudApp/Data/IMapPoint.cs b/AsbCloudApp/Data/IMapPoint.cs
index 1c373685..2f23d37b 100644
--- a/AsbCloudApp/Data/IMapPoint.cs
+++ b/AsbCloudApp/Data/IMapPoint.cs
@@ -1,23 +1,22 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// точка на карте
+///
+public interface IMapPoint
{
///
- /// точка на карте
+ /// Широта
///
- public interface IMapPoint
- {
- ///
- /// Широта
- ///
- double? Latitude { get; set; }
+ double? Latitude { get; set; }
- ///
- /// Широта
- ///
- double? Longitude { get; set; }
+ ///
+ /// Широта
+ ///
+ double? Longitude { get; set; }
- ///
- /// Часовой пояс
- ///
- SimpleTimezoneDto Timezone { get; set; }
- }
+ ///
+ /// Часовой пояс
+ ///
+ SimpleTimezoneDto Timezone { get; set; }
}
diff --git a/AsbCloudApp/Data/ITelemetryData.cs b/AsbCloudApp/Data/ITelemetryData.cs
index a2dc4924..d3061294 100644
--- a/AsbCloudApp/Data/ITelemetryData.cs
+++ b/AsbCloudApp/Data/ITelemetryData.cs
@@ -1,26 +1,25 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Telemetry related dto
+///
+public interface ITelemetryRelated
{
///
- /// Telemetry related dto
+ /// ИД телеметрии
///
- public interface ITelemetryRelated
- {
- ///
- /// ИД телеметрии
- ///
- int IdTelemetry { get; set; }
- }
-
- ///
- /// Интерфейс записи данных телеметрии
- ///
- public interface ITelemetryData : ITelemetryRelated
- {
- ///
- /// Отметка времени для этой записи
- ///
- DateTime DateTime { get; set; }
- }
+ int IdTelemetry { get; set; }
+}
+
+///
+/// Интерфейс записи данных телеметрии
+///
+public interface ITelemetryData : ITelemetryRelated
+{
+ ///
+ /// Отметка времени для этой записи
+ ///
+ DateTime DateTime { get; set; }
}
diff --git a/AsbCloudApp/Data/IWellRelated.cs b/AsbCloudApp/Data/IWellRelated.cs
index 55877a9e..fc85e7dd 100644
--- a/AsbCloudApp/Data/IWellRelated.cs
+++ b/AsbCloudApp/Data/IWellRelated.cs
@@ -1,13 +1,12 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Well related DTO
+///
+public interface IWellRelated
{
///
- /// Well related DTO
+ /// Well id in db
///
- public interface IWellRelated
- {
- ///
- /// Well id in db
- ///
- int IdWell { get; set; }
- }
+ int IdWell { get; set; }
}
diff --git a/AsbCloudApp/Data/ItemInfoDto.cs b/AsbCloudApp/Data/ItemInfoDto.cs
index 0022b1c1..fff4154e 100644
--- a/AsbCloudApp/Data/ItemInfoDto.cs
+++ b/AsbCloudApp/Data/ItemInfoDto.cs
@@ -1,26 +1,25 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// хранение дополнительной информации о записи
+/// запись формируется на сервере автоматически
+///
+public class ItemInfoDto
{
///
- /// хранение дополнительной информации о записи
- /// запись формируется на сервере автоматически
+ /// пользователь, внесший изменения (запись формируется на сервере автоматически)
///
- public class ItemInfoDto
- {
- ///
- /// пользователь, внесший изменения (запись формируется на сервере автоматически)
- ///
- public int? IdUser { get; set; }
+ public int? IdUser { get; set; }
- ///
- /// имя пользователя, внесшего изменения (запись формируется на сервере автоматически)
- ///
- public string? UserName { get; set; }
+ ///
+ /// имя пользователя, внесшего изменения (запись формируется на сервере автоматически)
+ ///
+ public string? UserName { get; set; }
- ///
- /// дата последнего обновления (запись формируется на сервере автоматически)
- ///
- public DateTimeOffset? LastUpdateDate { get; set; }
- }
+ ///
+ /// дата последнего обновления (запись формируется на сервере автоматически)
+ ///
+ public DateTimeOffset? LastUpdateDate { get; set; }
}
diff --git a/AsbCloudApp/Data/JobDto.cs b/AsbCloudApp/Data/JobDto.cs
index 0dfb82e3..1f5a7967 100644
--- a/AsbCloudApp/Data/JobDto.cs
+++ b/AsbCloudApp/Data/JobDto.cs
@@ -1,56 +1,55 @@
using System.Collections;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Состояние фоновой задачи
+///
+public enum JobState
{
///
- /// Состояние фоновой задачи
+ /// Ожидает в очереди на выполнение
///
- public enum JobState
- {
- ///
- /// Ожидает в очереди на выполнение
- ///
- Waiting,
- ///
- /// выполняется
- ///
- Working,
- ///
- /// успешно выполнена
- ///
- Done,
- ///
- /// завершена с ошибкой
- ///
- Fail
- };
+ Waiting,
+ ///
+ /// выполняется
+ ///
+ Working,
+ ///
+ /// успешно выполнена
+ ///
+ Done,
+ ///
+ /// завершена с ошибкой
+ ///
+ Fail
+};
+
+///
+/// работа фоновой задачи
+///
+public class JobDto
+{
+ ///
+ /// идентификатор
+ ///
+ [Required]
+ public int Id { get; set; }
///
- /// работа фоновой задачи
+ /// Состояние
///
- public class JobDto
- {
- ///
- /// идентификатор
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public JobState State { get; set; }
- ///
- /// Состояние
- ///
- [Required]
- public JobState State { get; set; }
+ ///
+ /// результат выполнения
+ ///
+ public Hashtable? Results { get; set; }
- ///
- /// результат выполнения
- ///
- public Hashtable? Results { get; set; }
-
- ///
- /// Исключение, если возникла ошибка
- ///
- public string? Error { get; set; }
- }
+ ///
+ /// Исключение, если возникла ошибка
+ ///
+ public string? Error { get; set; }
}
diff --git a/AsbCloudApp/Data/LimitingParameterDataDto.cs b/AsbCloudApp/Data/LimitingParameterDataDto.cs
index 11ecde24..cc1a9dec 100644
--- a/AsbCloudApp/Data/LimitingParameterDataDto.cs
+++ b/AsbCloudApp/Data/LimitingParameterDataDto.cs
@@ -1,45 +1,44 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Статистика по ограничивающим параметрам
+///
+public class LimitingParameterDataDto
{
///
- /// Статистика по ограничивающим параметрам
+ /// Идентификатор скважины
///
- public class LimitingParameterDataDto
- {
- ///
- /// Идентификатор скважины
- ///
- public int IdWell { get; set; }
+ public int IdWell { get; set; }
- ///
- /// Идентификатор телеметрии
- ///
- public int IdTelemetry { get; set; }
+ ///
+ /// Идентификатор телеметрии
+ ///
+ public int IdTelemetry { get; set; }
- ///
- /// Дата начала ограничения
- ///
- public DateTimeOffset DateStart { get; set; }
+ ///
+ /// Дата начала ограничения
+ ///
+ public DateTimeOffset DateStart { get; set; }
- ///
- /// Дата окончания ограничения
- ///
- public DateTimeOffset DateEnd { get; set; }
+ ///
+ /// Дата окончания ограничения
+ ///
+ public DateTimeOffset DateEnd { get; set; }
- ///
- /// Глубина начала ограничения
- ///
- public float DepthStart { get; set; }
+ ///
+ /// Глубина начала ограничения
+ ///
+ public float DepthStart { get; set; }
- ///
- /// Глубина окончания ограничения
- ///
- public float DepthEnd { get; set; }
+ ///
+ /// Глубина окончания ограничения
+ ///
+ public float DepthEnd { get; set; }
- ///
- /// Идентификатор ограничения
- ///
- public short IdFeedRegulator { get; set; }
- }
+ ///
+ /// Идентификатор ограничения
+ ///
+ public short IdFeedRegulator { get; set; }
}
diff --git a/AsbCloudApp/Data/LimitingParameterDto.cs b/AsbCloudApp/Data/LimitingParameterDto.cs
index 13a23b80..a4883f41 100644
--- a/AsbCloudApp/Data/LimitingParameterDto.cs
+++ b/AsbCloudApp/Data/LimitingParameterDto.cs
@@ -1,71 +1,70 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Статистика по ограничивающим параметрам
+///
+public class LimitingParameterDto
{
///
- /// Статистика по ограничивающим параметрам
+ /// Нет ограничения
///
- public class LimitingParameterDto
- {
- ///
- /// Нет ограничения
- ///
- public const int NoLimit = 0;
+ public const int NoLimit = 0;
- ///
- /// МСП
- ///
- public const int RopPlan = 1;
+ ///
+ /// МСП
+ ///
+ public const int RopPlan = 1;
- ///
- /// Давление
- ///
- public const int Pressure = 2;
+ ///
+ /// Давление
+ ///
+ public const int Pressure = 2;
- ///
- /// Осевая нагрузка
- ///
- public const int AxialLoad = 3;
+ ///
+ /// Осевая нагрузка
+ ///
+ public const int AxialLoad = 3;
- ///
- /// Момент
- ///
- public const int RotorTorque = 4;
- ///
- /// Идентификатор скважины
- ///
- [Required]
- public int IdWell { get; set; }
+ ///
+ /// Момент
+ ///
+ public const int RotorTorque = 4;
+ ///
+ /// Идентификатор скважины
+ ///
+ [Required]
+ public int IdWell { get; set; }
- ///
- /// Время бурения
- ///
- [Required]
- public float TotalMinutes { get; set; }
+ ///
+ /// Время бурения
+ ///
+ [Required]
+ public float TotalMinutes { get; set; }
- ///
- /// Глубина бурения
- ///
- [Required]
- public float Depth { get; set; }
+ ///
+ /// Глубина бурения
+ ///
+ [Required]
+ public float Depth { get; set; }
- ///
- /// Идентификатор критерия бурения
- ///
- [Required]
- public short IdFeedRegulator { get; set; }
+ ///
+ /// Идентификатор критерия бурения
+ ///
+ [Required]
+ public short IdFeedRegulator { get; set; }
- ///
- /// Наименование критерия бурения
- ///
- [Required]
- public string NameFeedRegulator { get; set; } = string.Empty;
+ ///
+ /// Наименование критерия бурения
+ ///
+ [Required]
+ public string NameFeedRegulator { get; set; } = string.Empty;
- ///
- /// Количество включений
- ///
- [Required]
- public int NumberInclusions { get; set; }
- }
+ ///
+ /// Количество включений
+ ///
+ [Required]
+ public int NumberInclusions { get; set; }
}
diff --git a/AsbCloudApp/Data/MapPointBaseDto.cs b/AsbCloudApp/Data/MapPointBaseDto.cs
index 61713a8f..1a1ae0bf 100644
--- a/AsbCloudApp/Data/MapPointBaseDto.cs
+++ b/AsbCloudApp/Data/MapPointBaseDto.cs
@@ -1,30 +1,29 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Точка на карте с названием
+///
+public class MapPointBaseDto : IMapPoint, IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// Точка на карте с названием
+ /// Название
///
- public class MapPointBaseDto : IMapPoint, IId
- {
- ///
- public int Id { get; set; }
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия от 1 до 50 символов")]
+ public string Caption { get; set; } = null!;
- ///
- /// Название
- ///
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия от 1 до 50 символов")]
- public string Caption { get; set; } = null!;
+ ///
+ [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
+ public double? Latitude { get; set; }
- ///
- [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
- public double? Latitude { get; set; }
+ ///
+ [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
+ public double? Longitude { get; set; }
- ///
- [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
- public double? Longitude { get; set; }
-
- ///
- public SimpleTimezoneDto Timezone { get; set; } = null!;
- }
+ ///
+ public SimpleTimezoneDto Timezone { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/MeasureDto.cs b/AsbCloudApp/Data/MeasureDto.cs
index 17ba3968..ee154d69 100644
--- a/AsbCloudApp/Data/MeasureDto.cs
+++ b/AsbCloudApp/Data/MeasureDto.cs
@@ -2,46 +2,45 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// инфо о результатах замера
+///
+public class MeasureDto : IId, IWellRelated
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
+ public int IdWell { get; set; }
+
///
- /// инфо о результатах замера
+ /// Id категории замера
///
- public class MeasureDto : IId, IWellRelated
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")]
+ public int IdCategory { get; set; }
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
- public int IdWell { get; set; }
+ ///
+ /// название категории замера
+ ///
+ [Required]
+ [StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")]
+ public string CategoryName { get; set; } = string.Empty;
- ///
- /// Id категории замера
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть меньше 1")]
- public int IdCategory { get; set; }
+ ///
+ /// отметка времени замера
+ ///
+ [Required]
+ public DateTimeOffset Timestamp { get; set; }
- ///
- /// название категории замера
- ///
- [Required]
- [StringLength(120, MinimumLength = 1, ErrorMessage = "Название категории не может быть больше 120 символов")]
- public string CategoryName { get; set; } = string.Empty;
-
- ///
- /// отметка времени замера
- ///
- [Required]
- public DateTimeOffset Timestamp { get; set; }
-
- ///
- /// данные замера
- ///
- [Required]
- public Dictionary Data { get; set; } = new();
- }
+ ///
+ /// данные замера
+ ///
+ [Required]
+ public Dictionary Data { get; set; } = new();
}
diff --git a/AsbCloudApp/Data/MessageDto.cs b/AsbCloudApp/Data/MessageDto.cs
index 5272e237..097f8161 100644
--- a/AsbCloudApp/Data/MessageDto.cs
+++ b/AsbCloudApp/Data/MessageDto.cs
@@ -1,47 +1,46 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Сообщение для frontend
+///
+public class MessageDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// Сообщение для frontend
+ /// дата появления события
///
- public class MessageDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public DateTimeOffset DateTime { get; set; }
- ///
- /// дата появления события
- ///
- [Required]
- public DateTimeOffset DateTime { get; set; }
+ ///
+ /// категория события
+ ///
+ [Required]
+ [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
+ public int CategoryId { get; set; }
- ///
- /// категория события
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
- public int CategoryId { get; set; }
+ ///
+ /// глубина забоя, при котором событие возникло
+ ///
+ [Required]
+ [Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
+ public double WellDepth { get; set; }
- ///
- /// глубина забоя, при котором событие возникло
- ///
- [Required]
- [Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
- public double WellDepth { get; set; }
+ ///
+ /// пользователь панели оператора
+ ///
+ public string? User { get; set; }
- ///
- /// пользователь панели оператора
- ///
- public string? User { get; set; }
-
- ///
- /// текст сообщения
- ///
- [Required]
- [StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
- public string Message { get; set; } = string.Empty;
- }
+ ///
+ /// текст сообщения
+ ///
+ [Required]
+ [StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
+ public string Message { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/MinMaxDto.cs b/AsbCloudApp/Data/MinMaxDto.cs
index d7d8703a..d8501b49 100644
--- a/AsbCloudApp/Data/MinMaxDto.cs
+++ b/AsbCloudApp/Data/MinMaxDto.cs
@@ -1,18 +1,17 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Минимальное и максимальное значение
+///
+public class MinMaxDto
{
///
- /// Минимальное и максимальное значение
+ /// Минимальное значение
///
- public class MinMaxDto
- {
- ///
- /// Минимальное значение
- ///
- public T? Min { get; set; }
+ public T? Min { get; set; }
- ///
- /// Максимальное значение
- ///
- public T? Max { get; set; }
- }
+ ///
+ /// Максимальное значение
+ ///
+ public T? Max { get; set; }
}
diff --git a/AsbCloudApp/Data/MinMaxExtendedViewDto.cs b/AsbCloudApp/Data/MinMaxExtendedViewDto.cs
index 6e1aab48..5e7f27ce 100644
--- a/AsbCloudApp/Data/MinMaxExtendedViewDto.cs
+++ b/AsbCloudApp/Data/MinMaxExtendedViewDto.cs
@@ -1,23 +1,22 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Расширение для класса MinMaxDto
+///
+public class MinMaxExtendedViewDto : MinMaxDto
{
///
- /// Расширение для класса MinMaxDto
+ /// Среднее значение
///
- public class MinMaxExtendedViewDto : MinMaxDto
- {
- ///
- /// Среднее значение
- ///
- public double Avg { get; set; }
+ public double Avg { get; set; }
- ///
- /// Является максимальным
- ///
- public bool IsMax { get; set; }
+ ///
+ /// Является максимальным
+ ///
+ public bool IsMax { get; set; }
- ///
- /// Является минимальным
- ///
- public bool IsMin { get; set; }
- }
+ ///
+ /// Является минимальным
+ ///
+ public bool IsMin { get; set; }
}
diff --git a/AsbCloudApp/Data/OperationValueDto.cs b/AsbCloudApp/Data/OperationValueDto.cs
index 587b8e1c..9b94b0c8 100644
--- a/AsbCloudApp/Data/OperationValueDto.cs
+++ b/AsbCloudApp/Data/OperationValueDto.cs
@@ -1,53 +1,52 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Описание целевых/нормативных показателей операций
+///
+public class OperationValueDto : IId, IWellRelated
{
///
- /// Описание целевых/нормативных показателей операций
+ /// Идентификатор в БД
///
- public class OperationValueDto : IId, IWellRelated
- {
- ///
- /// Идентификатор в БД
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// Идентификатор скважины
- ///
- [Required]
- public int IdWell { get; set; }
+ ///
+ /// Идентификатор скважины
+ ///
+ [Required]
+ public int IdWell { get; set; }
- ///
- /// Идентификатор категории операции
- ///
- [Required]
- public int IdOperationCategory { get; set; }
+ ///
+ /// Идентификатор категории операции
+ ///
+ [Required]
+ public int IdOperationCategory { get; set; }
- ///
- /// Целевой показатель
- ///
- [Required]
- public double TargetValue { get; set; }
+ ///
+ /// Целевой показатель
+ ///
+ [Required]
+ public double TargetValue { get; set; }
- ///
- /// Нормативный показатель
- ///
- [Required]
- public double StandardValue { get; set; }
+ ///
+ /// Нормативный показатель
+ ///
+ [Required]
+ public double StandardValue { get; set; }
- ///
- /// Стартовая глубина
- ///
- [Required]
- public double DepthStart { get; set; }
+ ///
+ /// Стартовая глубина
+ ///
+ [Required]
+ public double DepthStart { get; set; }
- ///
- /// Конечная глубина
- ///
- [Required]
- public double DepthEnd { get; set; }
+ ///
+ /// Конечная глубина
+ ///
+ [Required]
+ public double DepthEnd { get; set; }
- }
}
diff --git a/AsbCloudApp/Data/PaginationContainer.cs b/AsbCloudApp/Data/PaginationContainer.cs
index 30d3bdec..d5a03b22 100644
--- a/AsbCloudApp/Data/PaginationContainer.cs
+++ b/AsbCloudApp/Data/PaginationContainer.cs
@@ -1,40 +1,39 @@
using System.Collections.Generic;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Контейнер для поддержки постраничного просмотра таблиц
+///
+///
+public class PaginationContainer
{
///
- /// Контейнер для поддержки постраничного просмотра таблиц
+ /// конструктор
///
- ///
- public class PaginationContainer
+ public PaginationContainer()
{
- ///
- /// конструктор
- ///
- public PaginationContainer()
- {
- Items = Enumerable.Empty();
- }
-
- ///
- /// Кол-во записей пропущенных с начала таблицы в запросе от api
- ///
- public int Skip { get; set; }
-
- ///
- /// Кол-во записей в запросе от api
- ///
- public int Take { get; set; }
-
- ///
- /// Кол-во записей всего в таблице
- ///
- public int Count { get; set; }
-
- ///
- /// Данные
- ///
- public IEnumerable Items { get; set; }
+ Items = Enumerable.Empty();
}
+
+ ///
+ /// Кол-во записей пропущенных с начала таблицы в запросе от api
+ ///
+ public int Skip { get; set; }
+
+ ///
+ /// Кол-во записей в запросе от api
+ ///
+ public int Take { get; set; }
+
+ ///
+ /// Кол-во записей всего в таблице
+ ///
+ public int Count { get; set; }
+
+ ///
+ /// Данные
+ ///
+ public IEnumerable Items { get; set; }
}
diff --git a/AsbCloudApp/Data/PermissionDto.cs b/AsbCloudApp/Data/PermissionDto.cs
index 8436ae73..db3ecc6b 100644
--- a/AsbCloudApp/Data/PermissionDto.cs
+++ b/AsbCloudApp/Data/PermissionDto.cs
@@ -1,28 +1,27 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Разрешение для группы пользователей сделать что-либо через web-api.
+/// применяется как возможность доступа к Endpoint.
+///
+public class PermissionDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// Разрешение для группы пользователей сделать что-либо через web-api.
- /// применяется как возможность доступа к Endpoint.
+ /// Название
///
- public class PermissionDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")]
+ public string Name { get; set; } = string.Empty;
- ///
- /// Название
- ///
- [Required]
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия разрешения от 1 до 50 символов")]
- public string Name { get; set; } = string.Empty;
-
- ///
- /// Описание
- ///
- [StringLength(1024, MinimumLength = 1, ErrorMessage = "Допустимая длина описания от 1 до 1024 символов")]
- public string? Description { get; set; }
- }
+ ///
+ /// Описание
+ ///
+ [StringLength(1024, MinimumLength = 1, ErrorMessage = "Допустимая длина описания от 1 до 1024 символов")]
+ public string? Description { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/PlanFactDto.cs b/AsbCloudApp/Data/PlanFactDto.cs
index 8d20c382..d676e429 100644
--- a/AsbCloudApp/Data/PlanFactDto.cs
+++ b/AsbCloudApp/Data/PlanFactDto.cs
@@ -1,29 +1,28 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO объединяющее плановые и фактические значения
+///
+///
+public class PlanFactDto : PlanFactBase
+{
+
+}
+
+///
+/// DTO объединяющее плановые и фактические значения
+///
+///
+///
+public class PlanFactBase
{
///
- /// DTO объединяющее плановые и фактические значения
+ /// Плановое значение
///
- ///
- public class PlanFactDto : PlanFactBase
- {
-
- }
+ public T? Plan { get; set; }
///
- /// DTO объединяющее плановые и фактические значения
+ /// Фактическое значение
///
- ///
- ///
- public class PlanFactBase
- {
- ///
- /// Плановое значение
- ///
- public T? Plan { get; set; }
-
- ///
- /// Фактическое значение
- ///
- public V? Fact { get; set; }
- }
+ public V? Fact { get; set; }
}
diff --git a/AsbCloudApp/Data/PlanFactPredictBase.cs b/AsbCloudApp/Data/PlanFactPredictBase.cs
index ffbd5e61..6f4e1598 100644
--- a/AsbCloudApp/Data/PlanFactPredictBase.cs
+++ b/AsbCloudApp/Data/PlanFactPredictBase.cs
@@ -1,23 +1,22 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Lines container for Time Vs Depth chart
+///
+public class PlanFactPredictBase
{
///
- /// Lines container for Time Vs Depth chart
+ /// плановое значение
///
- public class PlanFactPredictBase
- {
- ///
- /// плановое значение
- ///
- public T? Plan { get; set; }
+ public T? Plan { get; set; }
- ///
- /// фактическое значение
- ///
- public T? Fact { get; set; }
+ ///
+ /// фактическое значение
+ ///
+ public T? Fact { get; set; }
- ///
- /// предсказанное значение
- ///
- public T? Predict { get; set; }
- }
+ ///
+ /// предсказанное значение
+ ///
+ public T? Predict { get; set; }
}
diff --git a/AsbCloudApp/Data/PlanLimitDto.cs b/AsbCloudApp/Data/PlanLimitDto.cs
index 76e9173b..7566ab9c 100644
--- a/AsbCloudApp/Data/PlanLimitDto.cs
+++ b/AsbCloudApp/Data/PlanLimitDto.cs
@@ -2,85 +2,84 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Плановое значение и максимально допустимое ограничение
+///
+public class PlanLimitDto
{
///
- /// Плановое значение и максимально допустимое ограничение
+ /// План
///
- public class PlanLimitDto
+ [Required]
+ public double Plan { get; set; }
+
+ ///
+ /// Максимальное ограничение
+ ///
+ [Required]
+ public double LimitMax { get; set; }
+
+ ///
+ /// Валидация
+ ///
+ /// Общий диапазон для плана и ограничения
+ ///
+ ///
+ public virtual IEnumerable Validate((double GE, double LE) commonRange, string paramName)
+ => Validate(commonRange, commonRange, paramName);
+
+ ///
+ /// Валидация
+ ///
+ ///
+ ///
+ /// Название параметра для которого задается план и ограничение
+ ///
+ public virtual IEnumerable Validate((double GE, double LE) planRange, (double GE, double LE) limitMaxRange, string paramName)
{
- ///
- /// План
- ///
- [Required]
- public double Plan { get; set; }
+ if (Plan < planRange.GE || Plan > planRange.LE)
+ yield return new ValidationResult($"{paramName} плановое значение должно быть в диапазоне [{planRange.GE}; {planRange.LE}].");
- ///
- /// Максимальное ограничение
- ///
- [Required]
- public double LimitMax { get; set; }
-
- ///
- /// Валидация
- ///
- /// Общий диапазон для плана и ограничения
- ///
- ///
- public virtual IEnumerable Validate((double GE, double LE) commonRange, string paramName)
- => Validate(commonRange, commonRange, paramName);
-
- ///
- /// Валидация
- ///
- ///
- ///
- /// Название параметра для которого задается план и ограничение
- ///
- public virtual IEnumerable Validate((double GE, double LE) planRange, (double GE, double LE) limitMaxRange, string paramName)
- {
- if (Plan < planRange.GE || Plan > planRange.LE)
- yield return new ValidationResult($"{paramName} плановое значение должно быть в диапазоне [{planRange.GE}; {planRange.LE}].");
-
- if (Plan < planRange.GE || Plan > planRange.LE)
- yield return new ValidationResult($"{paramName} ограничивающее значение должно быть в диапазоне [{limitMaxRange.GE}; {limitMaxRange.LE}].");
- }
+ if (Plan < planRange.GE || Plan > planRange.LE)
+ yield return new ValidationResult($"{paramName} ограничивающее значение должно быть в диапазоне [{limitMaxRange.GE}; {limitMaxRange.LE}].");
}
+}
+
+///
+/// Реализация RangeAttribute для PlanLimitDto
+///
+[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter,
+AllowMultiple = false)]
+public class RangePlanLimitAttribute : ValidationAttribute
+{
+ private readonly double minimum;
+ private readonly double maximum;
///
/// Реализация RangeAttribute для PlanLimitDto
///
- [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter,
- AllowMultiple = false)]
- public class RangePlanLimitAttribute : ValidationAttribute
+ ///
+ ///
+ public RangePlanLimitAttribute(double minimum, double maximum)
{
- private readonly double minimum;
- private readonly double maximum;
+ this.minimum = minimum;
+ this.maximum = maximum;
+ }
- ///
- /// Реализация RangeAttribute для PlanLimitDto
- ///
- ///
- ///
- public RangePlanLimitAttribute(double minimum, double maximum)
+ ///
+ public override bool IsValid(object? value)
+ {
+ try
{
- this.minimum = minimum;
- this.maximum = maximum;
- }
-
- ///
- public override bool IsValid(object? value)
- {
- try
+ if(value is PlanLimitDto dto)
{
- if(value is PlanLimitDto dto)
- {
- var isPlanValid = dto.Plan <= maximum && dto.Plan >= minimum;
- var isLimitMaxValid = dto.LimitMax <= maximum && dto.LimitMax >= minimum;
- return isPlanValid && isLimitMaxValid;
- }
- }catch{}
- return false;
- }
+ var isPlanValid = dto.Plan <= maximum && dto.Plan >= minimum;
+ var isLimitMaxValid = dto.LimitMax <= maximum && dto.LimitMax >= minimum;
+ return isPlanValid && isLimitMaxValid;
+ }
+ }catch{}
+ return false;
}
}
diff --git a/AsbCloudApp/Data/ReportInfoDto.cs b/AsbCloudApp/Data/ReportInfoDto.cs
index 277d0eaa..c044deb8 100644
--- a/AsbCloudApp/Data/ReportInfoDto.cs
+++ b/AsbCloudApp/Data/ReportInfoDto.cs
@@ -1,18 +1,17 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Справочная информация об отчете
+///
+public class ReportInfoDto
{
///
- /// Справочная информация об отчете
+ /// Название файла
///
- public class ReportInfoDto
- {
- ///
- /// Название файла
- ///
- public string FileName { get; set; } = null!;
+ public string FileName { get; set; } = null!;
- ///
- /// Размер файла
- ///
- public int FileSize { get; set; } = 0;
- }
+ ///
+ /// Размер файла
+ ///
+ public int FileSize { get; set; } = 0;
}
diff --git a/AsbCloudApp/Data/ReportPropertiesDto.cs b/AsbCloudApp/Data/ReportPropertiesDto.cs
index dc024620..e4a73953 100644
--- a/AsbCloudApp/Data/ReportPropertiesDto.cs
+++ b/AsbCloudApp/Data/ReportPropertiesDto.cs
@@ -1,54 +1,53 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO формирования рапорта
+///
+public class ReportPropertiesDto : IId, IWellRelated
{
+ ///
+ public int Id { get; set; }
+
+ ///
+ [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
+ public int IdWell { get; set; }
+
///
- /// DTO формирования рапорта
+ /// название
///
- public class ReportPropertiesDto : IId, IWellRelated
- {
- ///
- public int Id { get; set; }
+ [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")]
+ public string Name { get; set; } = null!;
- ///
- [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
- public int IdWell { get; set; }
+ ///
+ ///
+ ///
+ public FileInfoDto File { get; set; } = null!;
- ///
- /// название
- ///
- [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")]
- public string Name { get; set; } = null!;
+ ///
+ /// Дата формирования
+ ///
+ public DateTimeOffset Date { get; set; }
- ///
- ///
- ///
- public FileInfoDto File { get; set; } = null!;
+ ///
+ /// Дата начала рапорта
+ ///
+ public DateTimeOffset Begin { get; set; }
- ///
- /// Дата формирования
- ///
- public DateTimeOffset Date { get; set; }
+ ///
+ /// Дата окончания рапорта
+ ///
+ public DateTimeOffset End { get; set; }
- ///
- /// Дата начала рапорта
- ///
- public DateTimeOffset Begin { get; set; }
+ ///
+ /// шаг между точками диаграммы
+ ///
+ public int Step { get; set; }
- ///
- /// Дата окончания рапорта
- ///
- public DateTimeOffset End { get; set; }
-
- ///
- /// шаг между точками диаграммы
- ///
- public int Step { get; set; }
-
- ///
- /// формат файла
- ///
- public string Format { get; set; } = string.Empty;
- }
+ ///
+ /// формат файла
+ ///
+ public string Format { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/RequestLogDto.cs b/AsbCloudApp/Data/RequestLogDto.cs
index e326043f..2a6d9aee 100644
--- a/AsbCloudApp/Data/RequestLogDto.cs
+++ b/AsbCloudApp/Data/RequestLogDto.cs
@@ -1,70 +1,69 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO журнала запросов
+///
+public class RequestLogDto
{
///
- /// DTO журнала запросов
+ /// логин пользователя
///
- public class RequestLogDto
- {
- ///
- /// логин пользователя
- ///
- public string UserLogin { get; set; } = string.Empty;
+ public string UserLogin { get; set; } = string.Empty;
- ///
- /// Id пользователя
- ///
- public int UserId { get; set; }
+ ///
+ /// Id пользователя
+ ///
+ public int UserId { get; set; }
- ///
- /// IP адрес пользователя
- ///
- public string? UserIp { get; set; }
+ ///
+ /// IP адрес пользователя
+ ///
+ public string? UserIp { get; set; }
- ///
- /// метод запроса (GET, POST,..)
- ///
- public string RequestMethod { get; set; } = null!;
+ ///
+ /// метод запроса (GET, POST,..)
+ ///
+ public string RequestMethod { get; set; } = null!;
- ///
- /// url
- ///
- public string? RequestPath { get; set; }
+ ///
+ /// url
+ ///
+ public string? RequestPath { get; set; }
- ///
- /// Referer
- ///
- public string Referer { get; set; } = string.Empty;
+ ///
+ /// Referer
+ ///
+ public string Referer { get; set; } = string.Empty;
- ///
- /// продолжительность выполнения
- ///
- public long ElapsedMilliseconds { get; set; }
+ ///
+ /// продолжительность выполнения
+ ///
+ public long ElapsedMilliseconds { get; set; }
- ///
- /// http status [200 - Ok, ...]
- ///
- public int Status { get; set; }
-
- ///
- /// метка времени запроса
- ///
- public DateTime Date { get; set; }
+ ///
+ /// http status [200 - Ok, ...]
+ ///
+ public int Status { get; set; }
+
+ ///
+ /// метка времени запроса
+ ///
+ public DateTime Date { get; set; }
- ///
- /// сообщение об ошибке, если она произошла
- ///
- public string? ExceptionMessage { get; set; } = null!;
+ ///
+ /// сообщение об ошибке, если она произошла
+ ///
+ public string? ExceptionMessage { get; set; } = null!;
- ///
- /// стек вызовов
- ///
- public string? ExceptionStack { get; set; } = null!;
+ ///
+ /// стек вызовов
+ ///
+ public string? ExceptionStack { get; set; } = null!;
- ///
- /// Размер body
- ///
- public long? RequestContentLength { get; set; }
- }
+ ///
+ /// Размер body
+ ///
+ public long? RequestContentLength { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/RequestLogUserDto.cs b/AsbCloudApp/Data/RequestLogUserDto.cs
index 562acc36..796cb408 100644
--- a/AsbCloudApp/Data/RequestLogUserDto.cs
+++ b/AsbCloudApp/Data/RequestLogUserDto.cs
@@ -2,58 +2,57 @@ using System;
using System.ComponentModel.DataAnnotations;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO статистики запросов по пользователю
+///
+public class RequestLogUserDto
{
///
- /// DTO статистики запросов по пользователю
+ /// Id пользователя
///
- public class RequestLogUserDto
- {
- ///
- /// Id пользователя
- ///
- [Required]
- public int UserId { get; set; }
+ [Required]
+ public int UserId { get; set; }
- ///
- /// логин
- ///
- [Required]
- public string Login { get; set; } = string.Empty;
+ ///
+ /// логин
+ ///
+ [Required]
+ public string Login { get; set; } = string.Empty;
- ///
- /// IP адрес пользователя
- ///
- public string? Ip { get; set; }
+ ///
+ /// IP адрес пользователя
+ ///
+ public string? Ip { get; set; }
- ///
- /// время выполнения запроса
- ///
- [Required]
- public long ElapsedMs { get; set; }
+ ///
+ /// время выполнения запроса
+ ///
+ [Required]
+ public long ElapsedMs { get; set; }
- ///
- /// метка времени последнего запроса
- ///
- [Required]
- public DateTime LastDate { get; set; }
+ ///
+ /// метка времени последнего запроса
+ ///
+ [Required]
+ public DateTime LastDate { get; set; }
- ///
- /// кол-во запросов
- ///
- [Required]
- public long Requests { get; set; }
+ ///
+ /// кол-во запросов
+ ///
+ [Required]
+ public long Requests { get; set; }
- ///
- /// кол-во ошибок
- ///
- [Required]
- public long Errors { get; set; }
+ ///
+ /// кол-во ошибок
+ ///
+ [Required]
+ public long Errors { get; set; }
- ///
- /// DTO пользователя
- ///
- [Required]
- public UserDto User { get; set; } = null!;
- }
+ ///
+ /// DTO пользователя
+ ///
+ [Required]
+ public UserDto User { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/SAUB/DrillTestBaseDto.cs b/AsbCloudApp/Data/SAUB/DrillTestBaseDto.cs
index 1a87d73a..1c58bc5d 100644
--- a/AsbCloudApp/Data/SAUB/DrillTestBaseDto.cs
+++ b/AsbCloudApp/Data/SAUB/DrillTestBaseDto.cs
@@ -3,35 +3,34 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// DTO для получения записи drill_test из панели
+///
+public class DrillTestBaseDto
{
///
- /// DTO для получения записи drill_test из панели
+ /// Идентификатор drill test
///
- public class DrillTestBaseDto
- {
- ///
- /// Идентификатор drill test
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int Id { get; set; }
- ///
- /// Время начала drill test
- ///
- [Required]
- public DateTimeOffset TimeStampStart { get; set; }
+ ///
+ /// Время начала drill test
+ ///
+ [Required]
+ public DateTimeOffset TimeStampStart { get; set; }
- ///
- /// Глубина начала drill test
- ///
- [Required]
- public float DepthStart { get; set; }
+ ///
+ /// Глубина начала drill test
+ ///
+ [Required]
+ public float DepthStart { get; set; }
- ///
- /// Параметры теста
- ///
- [Required]
- public IEnumerable Params { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Параметры теста
+ ///
+ [Required]
+ public IEnumerable Params { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/SAUB/DrillTestDto.cs b/AsbCloudApp/Data/SAUB/DrillTestDto.cs
index 32814d35..a050943f 100644
--- a/AsbCloudApp/Data/SAUB/DrillTestDto.cs
+++ b/AsbCloudApp/Data/SAUB/DrillTestDto.cs
@@ -1,15 +1,14 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// DTO для отображения записи drill_test
+///
+public class DrillTestDto : DrillTestBaseDto
{
///
- /// DTO для отображения записи drill_test
+ /// Связанная с drill_test телеметрия
///
- public class DrillTestDto : DrillTestBaseDto
- {
- ///
- /// Связанная с drill_test телеметрия
- ///
- public TelemetryDto? Telemetry { get; set; }
- }
+ public TelemetryDto? Telemetry { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/DrillTestParamsDto.cs b/AsbCloudApp/Data/SAUB/DrillTestParamsDto.cs
index adc3d1db..aa94178e 100644
--- a/AsbCloudApp/Data/SAUB/DrillTestParamsDto.cs
+++ b/AsbCloudApp/Data/SAUB/DrillTestParamsDto.cs
@@ -1,41 +1,40 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Параметры Drill Test
+///
+public class DrillTestParamsDto
{
///
- /// Параметры Drill Test
+ /// Шаг
///
- public class DrillTestParamsDto
- {
- ///
- /// Шаг
- ///
- [Required]
- public int Step { get; set; }
+ [Required]
+ public int Step { get; set; }
- ///
- /// Нагрузка
- ///
- public float? Workload { get; set; }
+ ///
+ /// Нагрузка
+ ///
+ public float? Workload { get; set; }
- ///
- /// Заданная скорость
- ///
- public float? Speed { get; set; }
+ ///
+ /// Заданная скорость
+ ///
+ public float? Speed { get; set; }
- ///
- /// Скорость проходки
- ///
- public float? DepthSpeed { get; set; }
+ ///
+ /// Скорость проходки
+ ///
+ public float? DepthSpeed { get; set; }
- ///
- /// Время бурения шага, сек
- ///
- public float? TimeDrillStep { get; set; }
+ ///
+ /// Время бурения шага, сек
+ ///
+ public float? TimeDrillStep { get; set; }
- ///
- /// Глубина бурения шага
- ///
- public float? DepthDrillStep { get; set; }
- }
+ ///
+ /// Глубина бурения шага
+ ///
+ public float? DepthDrillStep { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/EventDto.cs b/AsbCloudApp/Data/SAUB/EventDto.cs
index 66b5fa7f..e91b0c82 100644
--- a/AsbCloudApp/Data/SAUB/EventDto.cs
+++ b/AsbCloudApp/Data/SAUB/EventDto.cs
@@ -1,48 +1,47 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Описание шаблона события панели оператора
+///
+public class EventDto : IId
{
///
- /// Описание шаблона события панели оператора
+ /// id события
///
- public class EventDto : IId
- {
- ///
- /// id события
- ///
- [Required]
-
- public int Id { get; set; }
+ [Required]
+
+ public int Id { get; set; }
- ///
- /// шаблон текста сообщения
- ///
- [Required]
- public string Message { get; set; } = string.Empty;
+ ///
+ /// шаблон текста сообщения
+ ///
+ [Required]
+ public string Message { get; set; } = string.Empty;
- ///
- /// id категории события
- ///
- [Required]
- [Range(0, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
- public int IdCategory { get; set; }
+ ///
+ /// id категории события
+ ///
+ [Required]
+ [Range(0, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
+ public int IdCategory { get; set; }
- ///
- /// переменная сервера обмена информацией с полевым оборудованием
- ///
- public string Tag { get; set; } = string.Empty;
+ ///
+ /// переменная сервера обмена информацией с полевым оборудованием
+ ///
+ public string Tag { get; set; } = string.Empty;
- ///
- /// тип определения наступления события
- ///
- [Required]
- [Range(0, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
- public int EventType { get; set; }
+ ///
+ /// тип определения наступления события
+ ///
+ [Required]
+ [Range(0, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
+ public int EventType { get; set; }
- ///
- /// флаг, следует ли воспроизводить звук при наступлении события
- ///
- [Required]
- public int IdSound { get; set; }
- }
+ ///
+ /// флаг, следует ли воспроизводить звук при наступлении события
+ ///
+ [Required]
+ public int IdSound { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/SetpointInfoDto.cs b/AsbCloudApp/Data/SAUB/SetpointInfoDto.cs
index a5cc0277..2a075757 100644
--- a/AsbCloudApp/Data/SAUB/SetpointInfoDto.cs
+++ b/AsbCloudApp/Data/SAUB/SetpointInfoDto.cs
@@ -1,43 +1,42 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// DTO рекомендации уставок передаваемых на панель оператора
+///
+public class SetpointInfoDto
{
///
- /// DTO рекомендации уставок передаваемых на панель оператора
+ /// отображаемое название уставки
///
- public class SetpointInfoDto
- {
- ///
- /// отображаемое название уставки
- ///
- public string DisplayName { get; set; } = string.Empty;
+ public string DisplayName { get; set; } = string.Empty;
- ///
- /// настоящее название уставки (имя переменной в панели оператора)
- ///
- [Required]
- public string Name { get; set; } = null!;
+ ///
+ /// настоящее название уставки (имя переменной в панели оператора)
+ ///
+ [Required]
+ public string Name { get; set; } = null!;
- ///
- /// единицы измерения
- ///
- public string? Units { get; set; }
+ ///
+ /// единицы измерения
+ ///
+ public string? Units { get; set; }
- ///
- /// комментарий
- ///
- public string? Comment { get; set; }
+ ///
+ /// комментарий
+ ///
+ public string? Comment { get; set; }
- ///
- /// макс. значение
- ///
- [Required]
- public double Max { get; set; } = double.MaxValue;
+ ///
+ /// макс. значение
+ ///
+ [Required]
+ public double Max { get; set; } = double.MaxValue;
- ///
- /// мин значение
- ///
- [Required]
- public double Min { get; set; } = double.MinValue;
- }
+ ///
+ /// мин значение
+ ///
+ [Required]
+ public double Min { get; set; } = double.MinValue;
}
diff --git a/AsbCloudApp/Data/SAUB/SetpointsRequestDto.cs b/AsbCloudApp/Data/SAUB/SetpointsRequestDto.cs
index 003f50c4..bf770c4c 100644
--- a/AsbCloudApp/Data/SAUB/SetpointsRequestDto.cs
+++ b/AsbCloudApp/Data/SAUB/SetpointsRequestDto.cs
@@ -3,64 +3,63 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// DTO запроса для предложения по изменению уставок на панели оператора
+///
+public class SetpointsRequestDto : IId, IWellRelated
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ [Required]
+ public int IdWell { get; set; }
+
///
- /// DTO запроса для предложения по изменению уставок на панели оператора
+ /// Id автора запроса
///
- public class SetpointsRequestDto : IId, IWellRelated
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int IdAuthor { get; set; }
- ///
- [Required]
- public int IdWell { get; set; }
+ ///
+ /// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
+ ///
+ [Required]
+ public int IdState { get; set; }
- ///
- /// Id автора запроса
- ///
- [Required]
- public int IdAuthor { get; set; }
+ ///
+ /// отметка времени создания запроса
+ ///
+ public DateTimeOffset UploadDate { get; set; } = DateTimeOffset.Now;
- ///
- /// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
- ///
- [Required]
- public int IdState { get; set; }
+ ///
+ /// время в секундах актуальности этого запроса
+ ///
+ [Required]
+ [Range(10 * 60, 4 * 60 * 60)]
+ public int ObsolescenceSec { get; set; } = 10 * 60;
- ///
- /// отметка времени создания запроса
- ///
- public DateTimeOffset UploadDate { get; set; } = DateTimeOffset.Now;
+ ///
+ /// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
+ ///
+ [Required]
+ public Dictionary Setpoints { get; set; } = new();
- ///
- /// время в секундах актуальности этого запроса
- ///
- [Required]
- [Range(10 * 60, 4 * 60 * 60)]
- public int ObsolescenceSec { get; set; } = 10 * 60;
+ ///
+ /// Комментарий для оператора панели
+ ///
+ public string? Comment { get; set; }
- ///
- /// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
- ///
- [Required]
- public Dictionary Setpoints { get; set; } = new();
+ ///
+ /// DTO скважины
+ ///
+ public WellDto? Well { get; set; }
- ///
- /// Комментарий для оператора панели
- ///
- public string? Comment { get; set; }
-
- ///
- /// DTO скважины
- ///
- public WellDto? Well { get; set; }
-
- ///
- /// DTO автора
- ///
- public UserDto? Author { get; set; }
- }
+ ///
+ /// DTO автора
+ ///
+ public UserDto? Author { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs b/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
index 71c95c20..68b63dab 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryDataSaubDto.cs
@@ -1,236 +1,235 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Сообщение получаемое по телеметрии и отправляемое в frontend
+///
+public class TelemetryDataSaubDto : ITelemetryData
{
///
- /// Сообщение получаемое по телеметрии и отправляемое в frontend
+ /// метка времени данных
///
- public class TelemetryDataSaubDto : ITelemetryData
- {
- ///
- /// метка времени данных
- ///
- [Required]
- public DateTime DateTime { get; set; }
-
- ///
- /// Пользователь САУБ
- ///
- public int? IdUser { get; set; }
+ [Required]
+ public DateTime DateTime { get; set; }
+
+ ///
+ /// Пользователь САУБ
+ ///
+ public int? IdUser { get; set; }
- ///
- /// Режим работы САУБ:
- /// 0 - "РУЧНОЙ"
- /// 1 - "БУРЕНИЕ В РОТОРЕ"
- /// 2 - "ПРОРАБОТКА"
- /// 3 - "БУРЕНИЕ В СЛАЙДЕ"
- /// 4 - "СПУСК СПО"
- /// 5 - "ПОДЪЕМ СПО"
- /// 6 - "ПОДЪЕМ С ПРОРАБОТКОЙ"
- /// 10 - "БЛОКИРОВКА"
- ///
- [Required]
- public short Mode { get; set; }
+ ///
+ /// Режим работы САУБ:
+ /// 0 - "РУЧНОЙ"
+ /// 1 - "БУРЕНИЕ В РОТОРЕ"
+ /// 2 - "ПРОРАБОТКА"
+ /// 3 - "БУРЕНИЕ В СЛАЙДЕ"
+ /// 4 - "СПУСК СПО"
+ /// 5 - "ПОДЪЕМ СПО"
+ /// 6 - "ПОДЪЕМ С ПРОРАБОТКОЙ"
+ /// 10 - "БЛОКИРОВКА"
+ ///
+ [Required]
+ public short Mode { get; set; }
- ///
- /// telemetry id
- ///
- public int IdTelemetry { get; set; }
+ ///
+ /// telemetry id
+ ///
+ public int IdTelemetry { get; set; }
- ///
- /// telemetry user
- ///
- public string? User { get; set; }
+ ///
+ /// telemetry user
+ ///
+ public string? User { get; set; }
- ///
- /// Глубина забоя, м
- ///
- public float WellDepth { get; set; }
+ ///
+ /// Глубина забоя, м
+ ///
+ public float WellDepth { get; set; }
- ///
- /// Глубина долота, м
- ///
- public float BitDepth { get; set; }
+ ///
+ /// Глубина долота, м
+ ///
+ public float BitDepth { get; set; }
- ///
- /// Талевый блок. Положение, м
- ///
- public float BlockPosition { get; set; }
+ ///
+ /// Талевый блок. Положение, м
+ ///
+ public float BlockPosition { get; set; }
- ///
- /// Талевый блок. Мин положение, м
- ///
- public float? BlockPositionMin { get; set; }
+ ///
+ /// Талевый блок. Мин положение, м
+ ///
+ public float? BlockPositionMin { get; set; }
- ///
- /// Талевый блок. Макс положение, м
- ///
- public float? BlockPositionMax { get; set; }
+ ///
+ /// Талевый блок. Макс положение, м
+ ///
+ public float? BlockPositionMax { get; set; }
- ///
- /// Талевый блок. Скорость, м/час
- ///
- public float? BlockSpeed { get; set; }
+ ///
+ /// Талевый блок. Скорость, м/час
+ ///
+ public float? BlockSpeed { get; set; }
- ///
- /// Талевый блок. Задание скорости, м/час
- ///
- public float? BlockSpeedSp { get; set; }
+ ///
+ /// Талевый блок. Задание скорости, м/час
+ ///
+ public float? BlockSpeedSp { get; set; }
- ///
- /// Талевый блок. Задание скорости для роторного бурения, м/час
- ///
- public float? BlockSpeedSpRotor { get; set; }
+ ///
+ /// Талевый блок. Задание скорости для роторного бурения, м/час
+ ///
+ public float? BlockSpeedSpRotor { get; set; }
- ///
- /// Талевый блок. Задание скорости для режима слайда, м/час
- ///
- public float? BlockSpeedSpSlide { get; set; }
+ ///
+ /// Талевый блок. Задание скорости для режима слайда, м/час
+ ///
+ public float? BlockSpeedSpSlide { get; set; }
- ///
- /// Талевый блок. Задание скорости для проработки, м/час
- ///
- public float? BlockSpeedSpDevelop { get; set; }
+ ///
+ /// Талевый блок. Задание скорости для проработки, м/час
+ ///
+ public float? BlockSpeedSpDevelop { get; set; }
- ///
- /// Давление, атм
- ///
- public float Pressure { get; set; }
+ ///
+ /// Давление, атм
+ ///
+ public float Pressure { get; set; }
- ///
- /// Давление при холостом ходе, атм
- ///
- public float? PressureIdle { get; set; }
+ ///
+ /// Давление при холостом ходе, атм
+ ///
+ public float? PressureIdle { get; set; }
- ///
- /// действующее задание давления, атм
- ///
- public float? PressureSp { get; set; }
+ ///
+ /// действующее задание давления, атм
+ ///
+ public float? PressureSp { get; set; }
- ///
- /// задание давления для роторного режима, атм
- ///
- public float? PressureSpRotor { get; set; }
+ ///
+ /// задание давления для роторного режима, атм
+ ///
+ public float? PressureSpRotor { get; set; }
- ///
- /// задание давления для режима слайда, атм
- ///
- public float? PressureSpSlide { get; set; }
+ ///
+ /// задание давления для режима слайда, атм
+ ///
+ public float? PressureSpSlide { get; set; }
- ///
- /// задание давления для проработки, атм
- ///
- public float? PressureSpDevelop { get; set; }
+ ///
+ /// задание давления для проработки, атм
+ ///
+ public float? PressureSpDevelop { get; set; }
- ///
- /// ограничение макс перепада давления, атм
- ///
- public float? PressureDeltaLimitMax { get; set; }
+ ///
+ /// ограничение макс перепада давления, атм
+ ///
+ public float? PressureDeltaLimitMax { get; set; }
- ///
- /// осевая нагрузка, т
- ///
- public float AxialLoad { get; set; }
+ ///
+ /// осевая нагрузка, т
+ ///
+ public float AxialLoad { get; set; }
- ///
- /// задание осевой нагрузки, т
- ///
- public float? AxialLoadSp { get; set; }
+ ///
+ /// задание осевой нагрузки, т
+ ///
+ public float? AxialLoadSp { get; set; }
- ///
- /// ограничение макс. осевой нагрузки, т
- ///
- public float? AxialLoadLimitMax { get; set; }
+ ///
+ /// ограничение макс. осевой нагрузки, т
+ ///
+ public float? AxialLoadLimitMax { get; set; }
- ///
- /// Вес на крюке, т
- ///
- public float HookWeight { get; set; }
+ ///
+ /// Вес на крюке, т
+ ///
+ public float HookWeight { get; set; }
- ///
- /// Вес на крюке на х.х., т
- ///
- public float? HookWeightIdle { get; set; }
+ ///
+ /// Вес на крюке на х.х., т
+ ///
+ public float? HookWeightIdle { get; set; }
- ///
- /// ограничение мин веса на крюке, т
- ///
- public float? HookWeightLimitMin { get; set; }
+ ///
+ /// ограничение мин веса на крюке, т
+ ///
+ public float? HookWeightLimitMin { get; set; }
- ///
- /// ограничение макс веса на крюке, т
- ///
- public float? HookWeightLimitMax { get; set; }
+ ///
+ /// ограничение макс веса на крюке, т
+ ///
+ public float? HookWeightLimitMax { get; set; }
- ///
- /// момент ротора, кН*м
- ///
- public float RotorTorque { get; set; }
+ ///
+ /// момент ротора, кН*м
+ ///
+ public float RotorTorque { get; set; }
- ///
- /// момент ротора на х.х., кН*м
- ///
- public float? RotorTorqueIdle { get; set; }
+ ///
+ /// момент ротора на х.х., кН*м
+ ///
+ public float? RotorTorqueIdle { get; set; }
- ///
- /// задание момента ротора, кН*м
- ///
- public float? RotorTorqueSp { get; set; }
+ ///
+ /// задание момента ротора, кН*м
+ ///
+ public float? RotorTorqueSp { get; set; }
- ///
- /// ограничение момента ротора, кН*м
- ///
- public float? RotorTorqueLimitMax { get; set; }
+ ///
+ /// ограничение момента ротора, кН*м
+ ///
+ public float? RotorTorqueLimitMax { get; set; }
- ///
- /// скорость ротора, об/мин
- ///
- public float RotorSpeed { get; set; }
+ ///
+ /// скорость ротора, об/мин
+ ///
+ public float RotorSpeed { get; set; }
- ///
- /// расход, л/с
- ///
- public float? Flow { get; set; }
+ ///
+ /// расход, л/с
+ ///
+ public float? Flow { get; set; }
- ///
- /// расход на х.х., л/с
- ///
- public float? FlowIdle { get; set; }
+ ///
+ /// расход на х.х., л/с
+ ///
+ public float? FlowIdle { get; set; }
- ///
- /// ограничение макс расхода, л/с
- ///
- public float? FlowDeltaLimitMax { get; set; }
+ ///
+ /// ограничение макс расхода, л/с
+ ///
+ public float? FlowDeltaLimitMax { get; set; }
- ///
- /// id текущего критерия бурения
- ///
- public short? IdFeedRegulator { get; set; }
+ ///
+ /// id текущего критерия бурения
+ ///
+ public short? IdFeedRegulator { get; set; }
- ///
- /// Текущее состояние работы MSE
- ///
- public short? MseState { get; set; }
+ ///
+ /// Текущее состояние работы MSE
+ ///
+ public short? MseState { get; set; }
- ///
- /// MSE
- ///
- public float? Mse { get; set; }
+ ///
+ /// MSE
+ ///
+ public float? Mse { get; set; }
- ///
- /// Расход. Буровой насос 1
- ///
- public float? Pump0Flow { get; set; }
+ ///
+ /// Расход. Буровой насос 1
+ ///
+ public float? Pump0Flow { get; set; }
- ///
- /// Расход. Буровой насос 2
- ///
- public float? Pump1Flow { get; set; }
+ ///
+ /// Расход. Буровой насос 2
+ ///
+ public float? Pump1Flow { get; set; }
- ///
- /// Расход. Буровой насос 3
- ///
- public float? Pump2Flow { get; set; }
- }
+ ///
+ /// Расход. Буровой насос 3
+ ///
+ public float? Pump2Flow { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/SAUB/TelemetryDataSaubStatDto.cs b/AsbCloudApp/Data/SAUB/TelemetryDataSaubStatDto.cs
index 329839be..f2390d92 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryDataSaubStatDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryDataSaubStatDto.cs
@@ -1,115 +1,114 @@
using System;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Статистика телеметрии САУБ (усредненные значения) по интервалам глубины
+///
+public class TelemetryDataSaubStatDto
{
///
- /// Статистика телеметрии САУБ (усредненные значения) по интервалам глубины
+ /// Кол-во записей в интервале
///
- public class TelemetryDataSaubStatDto
- {
- ///
- /// Кол-во записей в интервале
- ///
- public int Count { get; set; }
+ public int Count { get; set; }
- ///
- /// Дата начала интервала
- ///
- public DateTime DateMin { get; set; }
+ ///
+ /// Дата начала интервала
+ ///
+ public DateTime DateMin { get; set; }
- ///
- /// Дата окончания интервала
- ///
- public DateTime DateMax { get; set; }
+ ///
+ /// Дата окончания интервала
+ ///
+ public DateTime DateMax { get; set; }
- ///
- /// Глубина начала интервала
- ///
- public float WellDepthMin { get; set; }
+ ///
+ /// Глубина начала интервала
+ ///
+ public float WellDepthMin { get; set; }
- ///
- /// Глубина окончания интервала
- ///
- public float WellDepthMax { get; set; }
+ ///
+ /// Глубина окончания интервала
+ ///
+ public float WellDepthMax { get; set; }
- ///
- /// Давление
- ///
- public float Pressure { get; set; }
+ ///
+ /// Давление
+ ///
+ public float Pressure { get; set; }
- ///
- /// действующее задание давления
- ///
- public float PressureSp { get; set; }
-
- ///
- /// действующее задание перепада давления
- ///
- public float PressureSpDelta { get; set; }
+ ///
+ /// действующее задание давления
+ ///
+ public float PressureSp { get; set; }
+
+ ///
+ /// действующее задание перепада давления
+ ///
+ public float PressureSpDelta { get; set; }
- ///
- /// Давление при холостом ходе.
- ///
- public float PressureIdle { get; set; }
+ ///
+ /// Давление при холостом ходе.
+ ///
+ public float PressureIdle { get; set; }
- ///
- /// ограничение макс перепада давления
- ///
- public float PressureDeltaLimitMax { get; set; }
+ ///
+ /// ограничение макс перепада давления
+ ///
+ public float PressureDeltaLimitMax { get; set; }
- ///
- /// Перепад давления
- ///
- public float PressureDelta { get; set; }
+ ///
+ /// Перепад давления
+ ///
+ public float PressureDelta { get; set; }
- ///
- /// осевая нагрузка
- ///
- public float AxialLoad { get; set; }
+ ///
+ /// осевая нагрузка
+ ///
+ public float AxialLoad { get; set; }
- ///
- /// задание осевой нагрузки
- ///
- public float AxialLoadSp { get; set; }
+ ///
+ /// задание осевой нагрузки
+ ///
+ public float AxialLoadSp { get; set; }
- ///
- /// ограничение макс. осевой нагрузки
- ///
- public float AxialLoadLimitMax { get; set; }
+ ///
+ /// ограничение макс. осевой нагрузки
+ ///
+ public float AxialLoadLimitMax { get; set; }
- ///
- /// момент ротора
- ///
- public float RotorTorque { get; set; }
+ ///
+ /// момент ротора
+ ///
+ public float RotorTorque { get; set; }
- ///
- /// задание момента ротора
- ///
- public float RotorTorqueSp { get; set; }
+ ///
+ /// задание момента ротора
+ ///
+ public float RotorTorqueSp { get; set; }
- ///
- /// момент ротора на х.х.
- ///
- public float RotorTorqueLimitMax { get; set; }
+ ///
+ /// момент ротора на х.х.
+ ///
+ public float RotorTorqueLimitMax { get; set; }
- ///
- /// Талевый блок. Скорость
- ///
- public float BlockSpeed { get; set; }
+ ///
+ /// Талевый блок. Скорость
+ ///
+ public float BlockSpeed { get; set; }
- ///
- /// Талевый блок. Задание скорости
- ///
- public float BlockSpeedSp { get; set; }
+ ///
+ /// Талевый блок. Задание скорости
+ ///
+ public float BlockSpeedSp { get; set; }
- ///
- /// Режим САУБ
- ///
- public short IdMode { get; set; }
+ ///
+ /// Режим САУБ
+ ///
+ public short IdMode { get; set; }
- ///
- /// Текущий критерий бурения
- ///
- public short? IdFeedRegulator { get; set; }
- }
+ ///
+ /// Текущий критерий бурения
+ ///
+ public short? IdFeedRegulator { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryDataSpinDto.cs b/AsbCloudApp/Data/SAUB/TelemetryDataSpinDto.cs
index 83c55520..ee717583 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryDataSpinDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryDataSpinDto.cs
@@ -1,84 +1,83 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// телеметрия спин мастер
+///
+public class TelemetryDataSpinDto : ITelemetryData
{
///
- /// телеметрия спин мастер
+ /// Идентификатор телеметрии
///
- public class TelemetryDataSpinDto : ITelemetryData
- {
- ///
- /// Идентификатор телеметрии
- ///
- public int IdTelemetry { get; set; }
+ public int IdTelemetry { get; set; }
- ///
- /// Дата
- ///
- [Required]
- public DateTime DateTime { get; set; }
+ ///
+ /// Дата
+ ///
+ [Required]
+ public DateTime DateTime { get; set; }
- ///
- /// Ограничение числа оборотов вправо
- ///
- public float? RevolsRightLimit { get; set; }
+ ///
+ /// Ограничение числа оборотов вправо
+ ///
+ public float? RevolsRightLimit { get; set; }
- ///
- /// Ограничение числа оборотов влево
- ///
- public float? RevolsLeftLimit { get; set; }
+ ///
+ /// Ограничение числа оборотов влево
+ ///
+ public float? RevolsLeftLimit { get; set; }
- ///
- /// Заданная скорость вращения вправо
- ///
- public float? SpeedRightSp { get; set; }
+ ///
+ /// Заданная скорость вращения вправо
+ ///
+ public float? SpeedRightSp { get; set; }
- ///
- /// Заданная скорость вращения влево
- ///
- public float? SpeedLeftSp { get; set; }
+ ///
+ /// Заданная скорость вращения влево
+ ///
+ public float? SpeedLeftSp { get; set; }
- ///
- /// Суммарное количество оборотов вправо
- ///
- public float? RevolsRightTotal { get; set; }
+ ///
+ /// Суммарное количество оборотов вправо
+ ///
+ public float? RevolsRightTotal { get; set; }
- ///
- /// Суммарное количество оборотов влево
- ///
- public float? RevolsLeftTotal { get; set; }
+ ///
+ /// Суммарное количество оборотов влево
+ ///
+ public float? RevolsLeftTotal { get; set; }
- ///
- /// Нулевая позиция осцилляции
- ///
- public float? PositionZero { get; set; }
+ ///
+ /// Нулевая позиция осцилляции
+ ///
+ public float? PositionZero { get; set; }
- ///
- /// Крайний правый угол осцилляции
- ///
- public float? PositionRight { get; set; }
+ ///
+ /// Крайний правый угол осцилляции
+ ///
+ public float? PositionRight { get; set; }
- ///
- /// Выбранный режим управления
- ///
- public short? Mode { get; set; }
+ ///
+ /// Выбранный режим управления
+ ///
+ public short? Mode { get; set; }
- ///
- /// Переменная этапа
- ///
- public short? State { get; set; }
+ ///
+ /// Переменная этапа
+ ///
+ public short? State { get; set; }
- ///
- /// Осцилляция включена
- ///
- [Required]
- public bool IsOscillating => State != 0 & State != 6 & State != 7;
+ ///
+ /// Осцилляция включена
+ ///
+ [Required]
+ public bool IsOscillating => State != 0 & State != 6 & State != 7;
- ///
- /// Демпфирование включено
- ///
- [Required]
- public bool IsDampening => State == 7 && (Mode & 2) > 0;
- }
+ ///
+ /// Демпфирование включено
+ ///
+ [Required]
+ public bool IsDampening => State == 7 && (Mode & 2) > 0;
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryDataStatDto.cs b/AsbCloudApp/Data/SAUB/TelemetryDataStatDto.cs
index c2cb8926..8da5944b 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryDataStatDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryDataStatDto.cs
@@ -1,30 +1,29 @@
using System;
-namespace AsbCloudInfrastructure.Services.SAUB
+namespace AsbCloudInfrastructure.Services.SAUB;
+
+///
+/// Статистика данных телеметрии
+///
+public class TelemetryDataStatDto
{
///
- /// Статистика данных телеметрии
+ /// ID в БД
///
- public class TelemetryDataStatDto
- {
- ///
- /// ID в БД
- ///
- public int IdTelemetry { get; set; }
+ public int IdTelemetry { get; set; }
- ///
- /// дата получения первых данных
- ///
- public DateTimeOffset DateFirst { get; set; }
-
- ///
- /// дата получения последних полученных данных
- ///
- public DateTimeOffset DateLast { get; set; }
-
- ///
- /// смещение часового пояса
- ///
- public double TimezoneOffsetHours { get; set; }
- }
+ ///
+ /// дата получения первых данных
+ ///
+ public DateTimeOffset DateFirst { get; set; }
+
+ ///
+ /// дата получения последних полученных данных
+ ///
+ public DateTimeOffset DateLast { get; set; }
+
+ ///
+ /// смещение часового пояса
+ ///
+ public double TimezoneOffsetHours { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/SAUB/TelemetryInfoDto.cs b/AsbCloudApp/Data/SAUB/TelemetryInfoDto.cs
index 8e89d474..95e64151 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryInfoDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryInfoDto.cs
@@ -1,65 +1,64 @@
using System;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// общая информация о панели оператора
+///
+public class TelemetryInfoDto
{
///
- /// общая информация о панели оператора
+ /// дата начала бурения (заполнения данных на панели)
///
- public class TelemetryInfoDto
- {
- ///
- /// дата начала бурения (заполнения данных на панели)
- ///
- public DateTime DrillingStartDate { get; set; }
+ public DateTime DrillingStartDate { get; set; }
- ///
- /// идентификатор временной зоны
- ///
- public string? TimeZoneId { get; set; }
+ ///
+ /// идентификатор временной зоны
+ ///
+ public string? TimeZoneId { get; set; }
- ///
- /// смещение в часах относительно UTC
- ///
- public double TimeZoneOffsetTotalHours { get; set; }
+ ///
+ /// смещение в часах относительно UTC
+ ///
+ public double TimeZoneOffsetTotalHours { get; set; }
- ///
- /// название скважины
- ///
- public string Well { get; set; } = string.Empty;
+ ///
+ /// название скважины
+ ///
+ public string Well { get; set; } = string.Empty;
- ///
- /// название куста
- ///
- public string Cluster { get; set; } = string.Empty;
+ ///
+ /// название куста
+ ///
+ public string Cluster { get; set; } = string.Empty;
- ///
- /// название месторождения
- ///
- public string Deposit { get; set; } = string.Empty;
+ ///
+ /// название месторождения
+ ///
+ public string Deposit { get; set; } = string.Empty;
- ///
- /// название заказчика
- ///
- public string? Customer { get; set; }
-
- ///
- /// версия ПО панели оператора
- ///
- public string? HmiVersion { get; set; }
+ ///
+ /// название заказчика
+ ///
+ public string? Customer { get; set; }
+
+ ///
+ /// версия ПО панели оператора
+ ///
+ public string? HmiVersion { get; set; }
- ///
- /// версия ПО ПЛК САУБ
- ///
- public string? SaubPlcVersion { get; set; }
+ ///
+ /// версия ПО ПЛК САУБ
+ ///
+ public string? SaubPlcVersion { get; set; }
- ///
- /// версия ПО ПЛК Спин мастер
- ///
- public string? SpinPlcVersion { get; set; }
+ ///
+ /// версия ПО ПЛК Спин мастер
+ ///
+ public string? SpinPlcVersion { get; set; }
- ///
- /// комментарий
- ///
- public string? Comment { get; set; }
- }
+ ///
+ /// комментарий
+ ///
+ public string? Comment { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs b/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
index 7c8e4d92..05562034 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
@@ -1,55 +1,54 @@
using System;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Сообщение получаемое от телеметрии с буровой
+///
+public class TelemetryMessageDto : IId
{
///
- /// Сообщение получаемое от телеметрии с буровой
+ /// Id сообщения в базе панели оператора
///
- public class TelemetryMessageDto : IId
- {
- ///
- /// Id сообщения в базе панели оператора
- ///
- public int Id { get; set; }
+ public int Id { get; set; }
- ///
- /// отметка времени
- ///
- public DateTimeOffset Date { get; set; }
+ ///
+ /// отметка времени
+ ///
+ public DateTimeOffset Date { get; set; }
- ///
- /// глубина забоя
- ///
- public double WellDepth { get; set; }
+ ///
+ /// глубина забоя
+ ///
+ public double WellDepth { get; set; }
- ///
- /// Id события которое генерировало это сообщение
- ///
- public int IdEvent { get; set; }
+ ///
+ /// Id события которое генерировало это сообщение
+ ///
+ public int IdEvent { get; set; }
- ///
- /// идентификатор пользователя телеметрии
- ///
- public int? IdTelemetryUser { get; set; }
+ ///
+ /// идентификатор пользователя телеметрии
+ ///
+ public int? IdTelemetryUser { get; set; }
- ///
- /// аргумент №0 для подстановки в шаблон сообщения
- ///
- public string? Arg0 { get; set; }
+ ///
+ /// аргумент №0 для подстановки в шаблон сообщения
+ ///
+ public string? Arg0 { get; set; }
- ///
- /// аргумент №1 для подстановки в шаблон сообщения
- ///
- public string? Arg1 { get; set; }
+ ///
+ /// аргумент №1 для подстановки в шаблон сообщения
+ ///
+ public string? Arg1 { get; set; }
- ///
- /// аргумент №2 для подстановки в шаблон сообщения
- ///
- public string? Arg2 { get; set; }
+ ///
+ /// аргумент №2 для подстановки в шаблон сообщения
+ ///
+ public string? Arg2 { get; set; }
- ///
- /// аргумент №3 для подстановки в шаблон сообщения
- ///
- public string? Arg3 { get; set; }
- }
+ ///
+ /// аргумент №3 для подстановки в шаблон сообщения
+ ///
+ public string? Arg3 { get; set; }
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryUserDto.cs b/AsbCloudApp/Data/SAUB/TelemetryUserDto.cs
index ad7a8aab..a86c54dd 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryUserDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryUserDto.cs
@@ -1,52 +1,51 @@
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// Пользователь панели оператора
+///
+public class TelemetryUserDto : IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// Пользователь панели оператора
+ /// Имя
///
- public class TelemetryUserDto : IId
+ public string? Name { get; set; }
+
+ ///
+ /// Фамилия
+ ///
+ public string Surname { get; set; } = null!;
+
+ ///
+ /// Отчество
+ ///
+ public string? Patronymic { get; set; }
+
+ ///
+ /// Уровень доступа
+ ///
+ public int? Level { get; set; }
+
+ ///
+ /// Собрать отображаемое имя пользователя
+ ///
+ ///
+ public string MakeDisplayName()
{
- ///
- public int Id { get; set; }
-
- ///
- /// Имя
- ///
- public string? Name { get; set; }
-
- ///
- /// Фамилия
- ///
- public string Surname { get; set; } = null!;
-
- ///
- /// Отчество
- ///
- public string? Patronymic { get; set; }
-
- ///
- /// Уровень доступа
- ///
- public int? Level { get; set; }
-
- ///
- /// Собрать отображаемое имя пользователя
- ///
- ///
- public string MakeDisplayName()
+ if (!string.IsNullOrEmpty(Surname))
{
- if (!string.IsNullOrEmpty(Surname))
+ var s = Surname;
+ if (!string.IsNullOrEmpty(Name))
{
- var s = Surname;
- if (!string.IsNullOrEmpty(Name))
- {
- s += $"{Name[0]}.";
- if (!string.IsNullOrEmpty(Patronymic))
- s += $" {Patronymic[0]}.";
- }
- return s;
+ s += $"{Name[0]}.";
+ if (!string.IsNullOrEmpty(Patronymic))
+ s += $" {Patronymic[0]}.";
}
- else
- return $"User #{Id}";
+ return s;
}
+ else
+ return $"User #{Id}";
}
}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryWirelineRunOutDto.cs b/AsbCloudApp/Data/SAUB/TelemetryWirelineRunOutDto.cs
index c6a52965..a15aca57 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryWirelineRunOutDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryWirelineRunOutDto.cs
@@ -1,47 +1,46 @@
using System;
-namespace AsbCloudApp.Data.SAUB
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// DTO телеметрии наработки талевого каната от панели бурильщика
+///
+public class TelemetryWirelineRunOutBaseDto
{
///
- /// DTO телеметрии наработки талевого каната от панели бурильщика
+ /// отметка времени
///
- public class TelemetryWirelineRunOutBaseDto
- {
- ///
- /// отметка времени
- ///
- public DateTimeOffset DateTime { get; set; }
-
- ///
- /// Наработка талевого каната с момента перетяжки каната, т*км
- ///
- public float Hauling { get; set; }
-
- ///
- /// Наработка талевого каната до сигнализации о необходимости перетяжки, т*км
- ///
- public float HaulingWarnSp { get; set; }
-
- ///
- /// Наработка талевого каната с момента замены каната, т*км
- ///
- public float Replace { get; set; }
-
- ///
- /// Наработка талевого каната до сигнализации о необходимости замены, т*км
- ///
- public float ReplaceWarnSp { get; set; }
- }
+ public DateTimeOffset DateTime { get; set; }
///
- /// DTO телеметрии наработки талевого каната
+ /// Наработка талевого каната с момента перетяжки каната, т*км
///
- public class TelemetryWirelineRunOutDto : TelemetryWirelineRunOutBaseDto
- {
+ public float Hauling { get; set; }
- ///
- /// Информация по скважине
- ///
- public WellInfoDto WellInfo { get; set; } = null!;
- }
+ ///
+ /// Наработка талевого каната до сигнализации о необходимости перетяжки, т*км
+ ///
+ public float HaulingWarnSp { get; set; }
+
+ ///
+ /// Наработка талевого каната с момента замены каната, т*км
+ ///
+ public float Replace { get; set; }
+
+ ///
+ /// Наработка талевого каната до сигнализации о необходимости замены, т*км
+ ///
+ public float ReplaceWarnSp { get; set; }
+}
+
+///
+/// DTO телеметрии наработки талевого каната
+///
+public class TelemetryWirelineRunOutDto : TelemetryWirelineRunOutBaseDto
+{
+
+ ///
+ /// Информация по скважине
+ ///
+ public WellInfoDto WellInfo { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/ScheduleDto.cs b/AsbCloudApp/Data/ScheduleDto.cs
index e9c8d991..1a981f61 100644
--- a/AsbCloudApp/Data/ScheduleDto.cs
+++ b/AsbCloudApp/Data/ScheduleDto.cs
@@ -2,61 +2,60 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Описание данных графика работ
+///
+public class ScheduleDto : IId, IWellRelated, IValidatableObject
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ [Required]
+ public int IdWell { get; set; }
+
///
- /// Описание данных графика работ
+ /// Идентификатор бурильщика
///
- public class ScheduleDto : IId, IWellRelated, IValidatableObject
+ [Required]
+ public int IdDriller { get; set; }
+
+ ///
+ /// Начало смены
+ ///
+ [Required]
+ public TimeDto ShiftStart { get; set; } = null!;
+
+ ///
+ /// Конец смены
+ ///
+ [Required]
+ public TimeDto ShiftEnd { get; set; } = null!;
+
+ ///
+ /// Начало бурения
+ ///
+ [Required]
+ public DateTimeOffset DrillStart { get; set; }
+
+ ///
+ /// Конец бурения
+ ///
+ [Required]
+ public DateTimeOffset DrillEnd { get; set; }
+
+ ///
+ /// Бурильщик
+ ///
+ public DrillerDto? Driller { get; set; }
+
+ ///
+ public IEnumerable Validate(ValidationContext validationContext)
{
- ///
- [Required]
- public int Id { get; set; }
-
- ///
- [Required]
- public int IdWell { get; set; }
-
- ///
- /// Идентификатор бурильщика
- ///
- [Required]
- public int IdDriller { get; set; }
-
- ///
- /// Начало смены
- ///
- [Required]
- public TimeDto ShiftStart { get; set; } = null!;
-
- ///
- /// Конец смены
- ///
- [Required]
- public TimeDto ShiftEnd { get; set; } = null!;
-
- ///
- /// Начало бурения
- ///
- [Required]
- public DateTimeOffset DrillStart { get; set; }
-
- ///
- /// Конец бурения
- ///
- [Required]
- public DateTimeOffset DrillEnd { get; set; }
-
- ///
- /// Бурильщик
- ///
- public DrillerDto? Driller { get; set; }
-
- ///
- public IEnumerable Validate(ValidationContext validationContext)
- {
- if(DrillStart >= DrillEnd)
- yield return new ValidationResult($"DrillStart > DrillEnd");
- }
+ if(DrillStart >= DrillEnd)
+ yield return new ValidationResult($"DrillStart > DrillEnd");
}
}
diff --git a/AsbCloudApp/Data/SimpleTimezoneDto.cs b/AsbCloudApp/Data/SimpleTimezoneDto.cs
index 5d2e1f8f..b869dbc9 100644
--- a/AsbCloudApp/Data/SimpleTimezoneDto.cs
+++ b/AsbCloudApp/Data/SimpleTimezoneDto.cs
@@ -1,51 +1,50 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// временная зона
+///
+public class SimpleTimezoneDto
{
///
- /// временная зона
+ /// смещение в часах относительно UTC
///
- public class SimpleTimezoneDto
+ public double Hours { get; set; }
+
+ ///
+ /// идентификатор часовой зоны
+ ///
+ public string? TimezoneId { get; set; }
+
+ ///
+ /// запрет на переопределение
+ ///
+ public bool IsOverride { get; set; }
+
+ ///
+ /// Смещение часового пояса
+ ///
+ public TimeSpan Offset => TimeSpan.FromHours(Hours);
+
+ ///
+ public override bool Equals(object? obj)
{
- ///
- /// смещение в часах относительно UTC
- ///
- public double Hours { get; set; }
-
- ///
- /// идентификатор часовой зоны
- ///
- public string? TimezoneId { get; set; }
-
- ///
- /// запрет на переопределение
- ///
- public bool IsOverride { get; set; }
-
- ///
- /// Смещение часового пояса
- ///
- public TimeSpan Offset => TimeSpan.FromHours(Hours);
-
- ///
- public override bool Equals(object? obj)
- {
- if (obj is SimpleTimezoneDto tTimeZone
- && tTimeZone.Hours == Hours
- && tTimeZone.TimezoneId == TimezoneId
- && tTimeZone.IsOverride == IsOverride)
- return true;
- return false;
- }
-
- ///
- public override int GetHashCode()
- => Hours.GetHashCode()
- | TimezoneId?.GetHashCode()??-1
- | IsOverride.GetHashCode();
-
- ///
- public override string ToString()
- => $"{TimezoneId} (UTC+{Hours:00.##})";
+ if (obj is SimpleTimezoneDto tTimeZone
+ && tTimeZone.Hours == Hours
+ && tTimeZone.TimezoneId == TimezoneId
+ && tTimeZone.IsOverride == IsOverride)
+ return true;
+ return false;
}
+
+ ///
+ public override int GetHashCode()
+ => Hours.GetHashCode()
+ | TimezoneId?.GetHashCode()??-1
+ | IsOverride.GetHashCode();
+
+ ///
+ public override string ToString()
+ => $"{TimezoneId} (UTC+{Hours:00.##})";
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/SlipsStatDto.cs b/AsbCloudApp/Data/SlipsStatDto.cs
index 13e381fa..b24854d8 100644
--- a/AsbCloudApp/Data/SlipsStatDto.cs
+++ b/AsbCloudApp/Data/SlipsStatDto.cs
@@ -4,41 +4,40 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO, описывающая аналитику удержания в клиньях
+///
+public class SlipsStatDto
{
///
- /// DTO, описывающая аналитику удержания в клиньях
+ /// ФИО бурильщика
///
- public class SlipsStatDto
- {
- ///
- /// ФИО бурильщика
- ///
- public string DrillerName { get; set; } = null!;
+ public string DrillerName { get; set; } = null!;
- ///
- /// Количество скважин
- ///
- public int WellCount { get; set; }
+ ///
+ /// Количество скважин
+ ///
+ public int WellCount { get; set; }
- ///
- /// Название секции
- ///
- public string SectionCaption { get; set; } = null!;
+ ///
+ /// Название секции
+ ///
+ public string SectionCaption { get; set; } = null!;
- ///
- /// Количество удержаний в клиньях, шт.
- ///
- public int SlipsCount { get; set; }
+ ///
+ /// Количество удержаний в клиньях, шт.
+ ///
+ public int SlipsCount { get; set; }
- ///
- /// Время удержания в клиньях, мин.
- ///
- public double SlipsTimeInMinutes { get; set; }
+ ///
+ /// Время удержания в клиньях, мин.
+ ///
+ public double SlipsTimeInMinutes { get; set; }
- ///
- /// Проходка, м.
- ///
- public double SectionDepth { get; set; }
- }
+ ///
+ /// Проходка, м.
+ ///
+ public double SectionDepth { get; set; }
}
diff --git a/AsbCloudApp/Data/StatClusterDto.cs b/AsbCloudApp/Data/StatClusterDto.cs
index d407dda8..9e6aea41 100644
--- a/AsbCloudApp/Data/StatClusterDto.cs
+++ b/AsbCloudApp/Data/StatClusterDto.cs
@@ -2,27 +2,26 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO статистики скважин куста
+///
+public class StatClusterDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// DTO статистики скважин куста
+ /// название куста
///
- public class StatClusterDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public string Caption { get; set; } = string.Empty;
- ///
- /// название куста
- ///
- [Required]
- public string Caption { get; set; } = string.Empty;
-
- ///
- /// список статистик скважин куста
- ///
- [Required]
- public IEnumerable StatsWells { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// список статистик скважин куста
+ ///
+ [Required]
+ public IEnumerable StatsWells { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/StatOperationsDto.cs b/AsbCloudApp/Data/StatOperationsDto.cs
index 06d4cd8b..8e95392d 100644
--- a/AsbCloudApp/Data/StatOperationsDto.cs
+++ b/AsbCloudApp/Data/StatOperationsDto.cs
@@ -1,69 +1,68 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO статистики операций
+///
+public class StatOperationsDto
{
///
- /// DTO статистики операций
+ /// Дата и время начала
///
- public class StatOperationsDto
- {
- ///
- /// Дата и время начала
- ///
- public DateTimeOffset? Start { get; set; }
+ public DateTimeOffset? Start { get; set; }
- ///
- /// Дата и время окончания
- ///
- public DateTimeOffset? End { get; set; }
+ ///
+ /// Дата и время окончания
+ ///
+ public DateTimeOffset? End { get; set; }
- ///
- /// Глубина, м
- ///
- [Required]
- public double WellDepthStart { get; set; }
+ ///
+ /// Глубина, м
+ ///
+ [Required]
+ public double WellDepthStart { get; set; }
- ///
- /// Глубина, м
- ///
- [Required]
- public double WellDepthEnd { get; set; }
+ ///
+ /// Глубина, м
+ ///
+ [Required]
+ public double WellDepthEnd { get; set; }
- ///
- /// Рейсовая скорость, м/час
- ///
- [Required]
- public double RouteSpeed { get; set; }
+ ///
+ /// Рейсовая скорость, м/час
+ ///
+ [Required]
+ public double RouteSpeed { get; set; }
- ///
- /// Механическая скорость проходки, м/час
- ///
- [Required]
- public double Rop { get; set; }
+ ///
+ /// Механическая скорость проходки, м/час
+ ///
+ [Required]
+ public double Rop { get; set; }
- ///
- /// Скорость подъема КНБК
- ///
- [Required]
- public double BhaUpSpeed { get; set; }
+ ///
+ /// Скорость подъема КНБК
+ ///
+ [Required]
+ public double BhaUpSpeed { get; set; }
- ///
- /// Скорость спуска КНБК
- ///
- [Required]
- public double BhaDownSpeed { get; set; }
+ ///
+ /// Скорость спуска КНБК
+ ///
+ [Required]
+ public double BhaDownSpeed { get; set; }
- ///
- /// Скорость спуска обсадной колонны
- ///
- [Required]
- public double CasingDownSpeed { get; set; }
+ ///
+ /// Скорость спуска обсадной колонны
+ ///
+ [Required]
+ public double CasingDownSpeed { get; set; }
- ///
- /// Непроизводительное время
- ///
- [Required]
- public double NonProductiveHours { get; set; }
- }
+ ///
+ /// Непроизводительное время
+ ///
+ [Required]
+ public double NonProductiveHours { get; set; }
}
diff --git a/AsbCloudApp/Data/StatSectionDto.cs b/AsbCloudApp/Data/StatSectionDto.cs
index e1cb8d91..39432f51 100644
--- a/AsbCloudApp/Data/StatSectionDto.cs
+++ b/AsbCloudApp/Data/StatSectionDto.cs
@@ -1,20 +1,19 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
-{
- ///
- /// План-факт статистики по операциям за секцию скважины
- ///
- public class StatSectionDto : PlanFactDto, IId
- {
- ///
- [Required]
- public int Id { get; set; }
+namespace AsbCloudApp.Data;
- ///
- /// название секции
- ///
- [Required]
- public string Caption { get; set; } = string.Empty;
- }
+///
+/// План-факт статистики по операциям за секцию скважины
+///
+public class StatSectionDto : PlanFactDto, IId
+{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ /// название секции
+ ///
+ [Required]
+ public string Caption { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/StatWellDto.cs b/AsbCloudApp/Data/StatWellDto.cs
index 2906267d..93413112 100644
--- a/AsbCloudApp/Data/StatWellDto.cs
+++ b/AsbCloudApp/Data/StatWellDto.cs
@@ -3,73 +3,72 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO статистики по операциям за скважину
+///
+public class StatWellDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// DTO статистики по операциям за скважину
+ /// название
///
- public class StatWellDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public string Caption { get; set; } = string.Empty;
- ///
- /// название
- ///
- [Required]
- public string Caption { get; set; } = string.Empty;
+ ///
+ /// тип скважины
+ ///
+ [Required]
+ public string WellType { get; set; } = string.Empty;
- ///
- /// тип скважины
- ///
- [Required]
- public string WellType { get; set; } = string.Empty;
+ ///
+ /// ИД состояния скважины
+ ///
+ [Required]
+ public int IdState { get; set; }
- ///
- /// ИД состояния скважины
- ///
- [Required]
- public int IdState { get; set; }
+ ///
+ /// текст состояния скважины
+ ///
+ [Required]
+ public string State { get; set; } = string.Empty;
- ///
- /// текст состояния скважины
- ///
- [Required]
- public string State { get; set; } = string.Empty;
+ ///
+ /// дата прихода последней телеметрии
+ ///
+ [Required]
+ public DateTimeOffset LastTelemetryDate { get; set; }
- ///
- /// дата прихода последней телеметрии
- ///
- [Required]
- public DateTimeOffset LastTelemetryDate { get; set; }
+ ///
+ /// Статистика по секциям
+ ///
+ [Required]
+ public IEnumerable Sections { get; set; } = Enumerable.Empty();
- ///
- /// Статистика по секциям
- ///
- [Required]
- public IEnumerable Sections { get; set; } = Enumerable.Empty();
+ ///
+ /// статистика за всю скважину
+ ///
+ [Required]
+ public PlanFactDto Total { get; set; } = new();
- ///
- /// статистика за всю скважину
- ///
- [Required]
- public PlanFactDto Total { get; set; } = new();
+ ///
+ /// компании участвующие в строительстве скважины
+ ///
+ [Required]
+ public IEnumerable Companies { get; set; } = Enumerable.Empty();
- ///
- /// компании участвующие в строительстве скважины
- ///
- [Required]
- public IEnumerable Companies { get; set; } = Enumerable.Empty();
-
- ///
- /// Отставание от ГГД, дни
- ///
- public double? TvdLagDays { get; set; }
-
- ///
- /// Кол-во дней бурения по ГГД
- ///
- public double? TvdDrillingDays { get; set; }
- }
+ ///
+ /// Отставание от ГГД, дни
+ ///
+ public double? TvdLagDays { get; set; }
+
+ ///
+ /// Кол-во дней бурения по ГГД
+ ///
+ public double? TvdDrillingDays { get; set; }
}
diff --git a/AsbCloudApp/Data/Subsystems/SubsystemDto.cs b/AsbCloudApp/Data/Subsystems/SubsystemDto.cs
index fa5c02d1..bd0c1b21 100644
--- a/AsbCloudApp/Data/Subsystems/SubsystemDto.cs
+++ b/AsbCloudApp/Data/Subsystems/SubsystemDto.cs
@@ -1,26 +1,25 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.Subsystems
+namespace AsbCloudApp.Data.Subsystems;
+
+///
+/// Описание параметров подсистемы
+///
+public class SubsystemDto : IId
{
///
- /// Описание параметров подсистемы
+ /// Идентификатор подсистемы
///
- public class SubsystemDto : IId
- {
- ///
- /// Идентификатор подсистемы
- ///
- [Required]
- public int Id { get; set; }
- ///
- /// Наименование подсистемы
- ///
- [Required]
- public string Name { get; set; } = null!;
- ///
- /// Детальное описание подсистемы
- ///
- [Required]
- public string Description { get; set; } = string.Empty;
- }
+ [Required]
+ public int Id { get; set; }
+ ///
+ /// Наименование подсистемы
+ ///
+ [Required]
+ public string Name { get; set; } = null!;
+ ///
+ /// Детальное описание подсистемы
+ ///
+ [Required]
+ public string Description { get; set; } = string.Empty;
}
diff --git a/AsbCloudApp/Data/Subsystems/SubsystemStatDto.cs b/AsbCloudApp/Data/Subsystems/SubsystemStatDto.cs
index 3c566dea..78dd9b5c 100644
--- a/AsbCloudApp/Data/Subsystems/SubsystemStatDto.cs
+++ b/AsbCloudApp/Data/Subsystems/SubsystemStatDto.cs
@@ -1,52 +1,51 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.Subsystems
+namespace AsbCloudApp.Data.Subsystems;
+
+///
+/// Статистика подсистемы
+///
+public class SubsystemStatDto
{
///
- /// Статистика подсистемы
+ /// Идентификатор подсистемы
///
- public class SubsystemStatDto
- {
- ///
- /// Идентификатор подсистемы
- ///
- [Required]
- public int IdSubsystem { get; set; }
- ///
- /// Название подсистемы
- ///
- [Required]
- public string SubsystemName { get; set; } = null!;
- ///
- /// наработка подсистемы
- ///
- [Required]
- public double UsedTimeHours { get; set; }
- ///
- /// коэффициент использования
- ///
- [Required]
- public double KUsage { get; set; }
- ///
- /// сумма изменения глубин при включеной подсистеме
- ///
- [Required]
- public double SumDepthInterval { get; set; }
- ///
- /// сумма проходок автоопределенных операций выполняемых подсистемой
- ///
- [Required]
- public double SumOperationDepthInterval { get; set; }
- ///
- /// сумма продолжительности автоопределенных операций выполняемых подсистемой
- ///
- [Required]
- public double SumOperationDurationHours { get; set; }
- ///
- /// количество включений подсистемы
- ///
- [Required]
- public int OperationCount { get; set; }
- }
+ [Required]
+ public int IdSubsystem { get; set; }
+ ///
+ /// Название подсистемы
+ ///
+ [Required]
+ public string SubsystemName { get; set; } = null!;
+ ///
+ /// наработка подсистемы
+ ///
+ [Required]
+ public double UsedTimeHours { get; set; }
+ ///
+ /// коэффициент использования
+ ///
+ [Required]
+ public double KUsage { get; set; }
+ ///
+ /// сумма изменения глубин при включеной подсистеме
+ ///
+ [Required]
+ public double SumDepthInterval { get; set; }
+ ///
+ /// сумма проходок автоопределенных операций выполняемых подсистемой
+ ///
+ [Required]
+ public double SumOperationDepthInterval { get; set; }
+ ///
+ /// сумма продолжительности автоопределенных операций выполняемых подсистемой
+ ///
+ [Required]
+ public double SumOperationDurationHours { get; set; }
+ ///
+ /// количество включений подсистемы
+ ///
+ [Required]
+ public int OperationCount { get; set; }
}
diff --git a/AsbCloudApp/Data/TelemetryDto.cs b/AsbCloudApp/Data/TelemetryDto.cs
index 2934b721..6584a8df 100644
--- a/AsbCloudApp/Data/TelemetryDto.cs
+++ b/AsbCloudApp/Data/TelemetryDto.cs
@@ -1,44 +1,43 @@
using AsbCloudApp.Data.SAUB;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO телеметрии панели
+///
+public class TelemetryBaseDto : IId
+{
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// уникальный идентификатор телеметрии по которому панель оператора присылает данные
+ ///
+ public string RemoteUid { get; set; } = null!;
+
+ ///
+ /// информация о бурении, панели оператора и контроллерах
+ ///
+ public TelemetryInfoDto? Info { get; set; }
+
+ ///
+ /// Смещение часового пояса от UTC
+ ///
+ public SimpleTimezoneDto? TimeZone { get; set; }
+}
+
+///
+/// DTO телеметрии панели с скважиной
+///
+public class TelemetryDto : TelemetryBaseDto
{
///
- /// DTO телеметрии панели
+ /// ИД скважины
///
- public class TelemetryBaseDto : IId
- {
- ///
- public int Id { get; set; }
-
- ///
- /// уникальный идентификатор телеметрии по которому панель оператора присылает данные
- ///
- public string RemoteUid { get; set; } = null!;
-
- ///
- /// информация о бурении, панели оператора и контроллерах
- ///
- public TelemetryInfoDto? Info { get; set; }
-
- ///
- /// Смещение часового пояса от UTC
- ///
- public SimpleTimezoneDto? TimeZone { get; set; }
- }
+ public int? IdWell { get; set; }
///
- /// DTO телеметрии панели с скважиной
+ /// DTO скважины
///
- public class TelemetryDto : TelemetryBaseDto
- {
- ///
- /// ИД скважины
- ///
- public int? IdWell { get; set; }
-
- ///
- /// DTO скважины
- ///
- public WellInfoDto? Well { get; set; }
- }
+ public WellInfoDto? Well { get; set; }
}
diff --git a/AsbCloudApp/Data/TimeDto.cs b/AsbCloudApp/Data/TimeDto.cs
index 34bcba3e..2cb40a6d 100644
--- a/AsbCloudApp/Data/TimeDto.cs
+++ b/AsbCloudApp/Data/TimeDto.cs
@@ -1,159 +1,158 @@
using System;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO времени
+///
+public class TimeDto : IComparable
{
+ private int hour = 0;
+ private int minute = 0;
+ private int second = 0;
+
///
- /// DTO времени
+ /// час
///
- public class TimeDto : IComparable
+ public int Hour
{
- private int hour = 0;
- private int minute = 0;
- private int second = 0;
-
- ///
- /// час
- ///
- public int Hour
+ get => hour;
+ set
{
- get => hour;
- set
- {
- if (value > 23 || value < 0)
- throw new ArgumentOutOfRangeException(nameof(Hour), "hour should be in [0; 23]");
- hour = value;
- }
+ if (value > 23 || value < 0)
+ throw new ArgumentOutOfRangeException(nameof(Hour), "hour should be in [0; 23]");
+ hour = value;
+ }
+ }
+
+ ///
+ /// минута
+ ///
+ public int Minute
+ {
+ get => minute;
+ set
+ {
+ if (value > 59 || value < 0)
+ throw new ArgumentOutOfRangeException(nameof(minute), "minute should be in [0; 59]");
+ minute = value;
+ }
+ }
+
+ ///
+ /// секунда
+ ///
+ public int Second
+ {
+ get => second;
+ set
+ {
+ if (value > 59 || value < 0)
+ throw new ArgumentOutOfRangeException(nameof(second), "second should be in [0; 59]");
+ second = value;
+ }
+ }
+
+ ///
+ /// Кол-во секунд с начала суток
+ ///
+ public int TotalSeconds => (Hour * 60 + minute) * 60 + second;
+
+ ///
+ public TimeDto()
+ { }
+
+ ///
+ public TimeDto(int hour = 0, int minute = 0, int second = 0)
+ {
+ this.hour = hour;
+ this.minute = minute;
+ this.second = second;
+ }
+
+ ///
+ public TimeDto(TimeOnly time)
+ {
+ hour = time.Hour;
+ minute = time.Minute;
+ second = time.Second;
+ }
+
+ ///
+ public TimeDto(DateTime fullDate)
+ {
+ hour = fullDate.Hour;
+ minute = fullDate.Minute;
+ second = fullDate.Second;
+ }
+
+ ///
+ public TimeDto(DateTimeOffset fullDate)
+ {
+ hour = fullDate.Hour;
+ minute = fullDate.Minute;
+ second = fullDate.Second;
+ }
+
+ ///
+ /// Makes System.TimeOnly
+ ///
+ /// System.TimeOnly
+ public TimeOnly MakeTimeOnly() => new(Hour, Minute, Second);
+
+ ///
+ public override string ToString()
+ {
+ var str = $"{Hour:00}:{Minute:00}:{Second:00}";
+ return str;
+ }
+
+ ///
+ public static bool operator ==(TimeDto a, TimeDto b) => a?.TotalSeconds == b?.TotalSeconds;
+
+ ///
+ public static bool operator !=(TimeDto a, TimeDto b) => !(a == b);
+
+ ///
+ public static bool operator <=(TimeDto a, TimeDto b) => a.TotalSeconds <= b.TotalSeconds;
+
+ ///
+ public static bool operator >=(TimeDto a, TimeDto b) => a.TotalSeconds >= b.TotalSeconds;
+
+ ///
+ public static bool operator <(TimeDto a, TimeDto b) => a.TotalSeconds < b.TotalSeconds;
+
+ ///
+ public static bool operator >(TimeDto a, TimeDto b) => a.TotalSeconds > b.TotalSeconds;
+
+ ///
+ public int CompareTo(TimeDto? other)
+ => TotalSeconds - other?.TotalSeconds??0;
+
+ ///
+ public override bool Equals(object? obj)
+ {
+ if (ReferenceEquals(this, obj))
+ {
+ return true;
}
- ///
- /// минута
- ///
- public int Minute
+ if (obj is null)
{
- get => minute;
- set
- {
- if (value > 59 || value < 0)
- throw new ArgumentOutOfRangeException(nameof(minute), "minute should be in [0; 59]");
- minute = value;
- }
- }
-
- ///
- /// секунда
- ///
- public int Second
- {
- get => second;
- set
- {
- if (value > 59 || value < 0)
- throw new ArgumentOutOfRangeException(nameof(second), "second should be in [0; 59]");
- second = value;
- }
- }
-
- ///
- /// Кол-во секунд с начала суток
- ///
- public int TotalSeconds => (Hour * 60 + minute) * 60 + second;
-
- ///
- public TimeDto()
- { }
-
- ///
- public TimeDto(int hour = 0, int minute = 0, int second = 0)
- {
- this.hour = hour;
- this.minute = minute;
- this.second = second;
- }
-
- ///
- public TimeDto(TimeOnly time)
- {
- hour = time.Hour;
- minute = time.Minute;
- second = time.Second;
- }
-
- ///
- public TimeDto(DateTime fullDate)
- {
- hour = fullDate.Hour;
- minute = fullDate.Minute;
- second = fullDate.Second;
- }
-
- ///
- public TimeDto(DateTimeOffset fullDate)
- {
- hour = fullDate.Hour;
- minute = fullDate.Minute;
- second = fullDate.Second;
- }
-
- ///
- /// Makes System.TimeOnly
- ///
- /// System.TimeOnly
- public TimeOnly MakeTimeOnly() => new(Hour, Minute, Second);
-
- ///
- public override string ToString()
- {
- var str = $"{Hour:00}:{Minute:00}:{Second:00}";
- return str;
- }
-
- ///
- public static bool operator ==(TimeDto a, TimeDto b) => a?.TotalSeconds == b?.TotalSeconds;
-
- ///
- public static bool operator !=(TimeDto a, TimeDto b) => !(a == b);
-
- ///
- public static bool operator <=(TimeDto a, TimeDto b) => a.TotalSeconds <= b.TotalSeconds;
-
- ///
- public static bool operator >=(TimeDto a, TimeDto b) => a.TotalSeconds >= b.TotalSeconds;
-
- ///
- public static bool operator <(TimeDto a, TimeDto b) => a.TotalSeconds < b.TotalSeconds;
-
- ///
- public static bool operator >(TimeDto a, TimeDto b) => a.TotalSeconds > b.TotalSeconds;
-
- ///
- public int CompareTo(TimeDto? other)
- => TotalSeconds - other?.TotalSeconds??0;
-
- ///
- public override bool Equals(object? obj)
- {
- if (ReferenceEquals(this, obj))
- {
- return true;
- }
-
- if (obj is null)
- {
- return false;
- }
-
- if (obj is TimeDto objTime)
- {
- return objTime == this;
- }
-
return false;
}
- ///
- public override int GetHashCode()
+ if (obj is TimeDto objTime)
{
- return base.GetHashCode();
+ return objTime == this;
}
+
+ return false;
+ }
+
+ ///
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
}
}
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryCartesianFactDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryCartesianFactDto.cs
index 218462db..bff00570 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryCartesianFactDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryCartesianFactDto.cs
@@ -1,30 +1,29 @@
-namespace AsbCloudApp.Data.Trajectory
+namespace AsbCloudApp.Data.Trajectory;
+
+
+
+///
+/// Визуализация траектории 3D
+///
+public class TrajectoryCartesianDto
{
-
+ ///
+ /// Координаты по оси X, в сторону востока (м)
+ ///
+ public double X { get; set; }
///
- /// Визуализация траектории 3D
+ /// Координаты по оси Y, в высоту (м)
///
- public class TrajectoryCartesianDto
- {
- ///
- /// Координаты по оси X, в сторону востока (м)
- ///
- public double X { get; set; }
-
- ///
- /// Координаты по оси Y, в высоту (м)
- ///
- public double Y { get; set; }
-
- ///
- /// Координаты по оси Z, в сторону юга (м)
- ///
- public double Z { get; set; }
- }
+ public double Y { get; set; }
///
- /// Визуализация фактической траектории 3D
+ /// Координаты по оси Z, в сторону юга (м)
///
- public class TrajectoryCartesianFactDto : TrajectoryCartesianDto { }
+ public double Z { get; set; }
}
+
+///
+/// Визуализация фактической траектории 3D
+///
+public class TrajectoryCartesianFactDto : TrajectoryCartesianDto { }
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryCartesianPlanDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryCartesianPlanDto.cs
index 91096ad6..fc31e9d3 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryCartesianPlanDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryCartesianPlanDto.cs
@@ -1,18 +1,17 @@
-namespace AsbCloudApp.Data.Trajectory
+namespace AsbCloudApp.Data.Trajectory;
+
+///
+/// Визуализация траектории 3D для построения радиуса цели
+///
+public class TrajectoryCartesianPlanDto : TrajectoryCartesianFactDto
{
///
- /// Визуализация траектории 3D для построения радиуса цели
+ /// радиус цели
///
- public class TrajectoryCartesianPlanDto : TrajectoryCartesianFactDto
- {
- ///
- /// радиус цели
- ///
- public double? Radius { get; set; }
+ public double? Radius { get; set; }
- ///
- /// комментарий
- ///
- public string? Comment { get; set; }
- }
+ ///
+ /// комментарий
+ ///
+ public string? Comment { get; set; }
}
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
index 2c940043..987fa6ce 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
@@ -3,60 +3,59 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data.Trajectory
+namespace AsbCloudApp.Data.Trajectory;
+
+///
+/// Базовая географическая траектория
+///
+public abstract class TrajectoryGeoDto : IId, IValidatableObject
{
///
- /// Базовая географическая траектория
+ /// ИД строки с координатами
+ ///
+ public int Id { get; set; }
+ ///
+ /// Id скважины
///
- public abstract class TrajectoryGeoDto : IId, IValidatableObject
+ public int IdWell { get; set; }
+
+ ///
+ /// Глубина по стволу
+ ///
+ public double WellboreDepth { get; set; }
+ ///
+ /// Угол зенитный
+ ///
+ public double ZenithAngle { get; set; }
+
+ ///
+ /// Азимут Географ.
+ ///
+ public double AzimuthGeo { get; set; }
+
+ ///
+ /// Азимут Магнитный
+ ///
+ public double? AzimuthMagnetic { get; set; }
+
+ ///
+ /// Глубина вертикальная
+ ///
+ public double? VerticalDepth { get; set; }
+
+ ///
+ /// Дата загрузки
+ ///
+ public DateTimeOffset UpdateDate { get; set; }
+
+ ///
+ /// ИД пользователя
+ ///
+ public int IdUser { get; set; }
+
+ ///
+ public IEnumerable Validate(ValidationContext validationContext)
{
- ///
- /// ИД строки с координатами
- ///
- public int Id { get; set; }
- ///
- /// Id скважины
- ///
- public int IdWell { get; set; }
-
- ///
- /// Глубина по стволу
- ///
- public double WellboreDepth { get; set; }
- ///
- /// Угол зенитный
- ///
- public double ZenithAngle { get; set; }
-
- ///
- /// Азимут Географ.
- ///
- public double AzimuthGeo { get; set; }
-
- ///
- /// Азимут Магнитный
- ///
- public double? AzimuthMagnetic { get; set; }
-
- ///
- /// Глубина вертикальная
- ///
- public double? VerticalDepth { get; set; }
-
- ///
- /// Дата загрузки
- ///
- public DateTimeOffset UpdateDate { get; set; }
-
- ///
- /// ИД пользователя
- ///
- public int IdUser { get; set; }
-
- ///
- public IEnumerable Validate(ValidationContext validationContext)
- {
- return Enumerable.Empty();
- }
+ return Enumerable.Empty();
}
}
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryGeoPlanDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryGeoPlanDto.cs
index 6730e6db..e13cb2e2 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryGeoPlanDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryGeoPlanDto.cs
@@ -1,21 +1,20 @@
using System;
-namespace AsbCloudApp.Data.Trajectory
+namespace AsbCloudApp.Data.Trajectory;
+
+///
+/// Формирование данных по плановой географической траектории
+///
+public class TrajectoryGeoPlanDto : TrajectoryGeoDto
{
///
- /// Формирование данных по плановой географической траектории
+ /// Радиус цели
///
- public class TrajectoryGeoPlanDto : TrajectoryGeoDto
- {
- ///
- /// Радиус цели
- ///
- public double? Radius { get; set; }
+ public double? Radius { get; set; }
- ///
- /// Комментарии
- ///
- public string? Comment { get; set; }
- }
+ ///
+ /// Комментарии
+ ///
+ public string? Comment { get; set; }
}
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryPlanFactDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryPlanFactDto.cs
index f691fb76..6fc18c7b 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryPlanFactDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryPlanFactDto.cs
@@ -1,25 +1,24 @@
-namespace AsbCloudApp.Data.Trajectory
+namespace AsbCloudApp.Data.Trajectory;
+
+///
+/// DTO объединяющее плановые и фактические значения траекторий
+///
+///
+///
+public class TrajectoryPlanFactDto
{
///
- /// DTO объединяющее плановые и фактические значения траекторий
+ /// Плановое значение
///
- ///
- ///
- public class TrajectoryPlanFactDto
- {
- ///
- /// Плановое значение
- ///
- public T? Plan { get; set; }
+ public T? Plan { get; set; }
- ///
- /// Фактическое значение
- ///
- public V? FactManual { get; set; }
+ ///
+ /// Фактическое значение
+ ///
+ public V? FactManual { get; set; }
- ///
- /// Фактическое ннб-значение
- ///
- public V? FactNnb { get; set; }
- }
+ ///
+ /// Фактическое ннб-значение
+ ///
+ public V? FactNnb { get; set; }
}
diff --git a/AsbCloudApp/Data/User/UserDto.cs b/AsbCloudApp/Data/User/UserDto.cs
index ce1d6f4a..4ad8934a 100644
--- a/AsbCloudApp/Data/User/UserDto.cs
+++ b/AsbCloudApp/Data/User/UserDto.cs
@@ -1,96 +1,95 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.User
+namespace AsbCloudApp.Data.User;
+
+///
+/// DTO пользователя платформы
+///
+public class UserDto : IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// DTO пользователя платформы
+ /// логин
///
- public class UserDto : IId
+ [Required(ErrorMessage = "Логин не должен быть пустым")]
+ [StringLength(50, MinimumLength = 3, ErrorMessage = "Допустимая длина логина от 3 до 50 символов")]
+ public string Login { get; set; } = null!;
+
+ ///
+ /// Имя
+ ///
+ [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина имени от 1 до 50 символов")]
+ public string? Name { get; set; }
+
+ ///
+ /// Фамилия
+ ///
+ [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина фамилии от 1 до 50 символов")]
+ public string? Surname { get; set; }
+
+ ///
+ /// Отчество
+ ///
+ [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина отчества от 1 до 50 символов")]
+ public string? Patronymic { get; set; }
+
+ ///
+ /// Email
+ ///
+ [Required]
+ [StringLength(260, MinimumLength = 3, ErrorMessage = "Допустимая длина email от 3 до 260 символов")]
+ public string Email { get; set; } = null!;
+
+ ///
+ /// Phone
+ ///
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина телефона от 1 до 50 символов")]
+ public string? Phone { get; set; }
+
+ ///
+ /// Должность
+ ///
+ [StringLength(100, MinimumLength = 1, ErrorMessage = "Допустимая длина должности от 1 до 100 символов")]
+ public string? Position { get; set; }
+
+ ///
+ /// Id компании
+ ///
+ [Required]
+ public int IdCompany { get; set; }
+
+ ///
+ /// Id состояния пользователя
+ /// 0 - не активен,
+ /// 1 - активен,
+ /// 2 - заблокирован
+ ///
+ public short IdState { get; set; }
+
+ ///
+ /// DTO компании
+ ///
+ public CompanyDto? Company { get; set; }
+
+ ///
+ /// Получение отображаемого имени
+ ///
+ ///
+ public string MakeDisplayName()
{
- ///
- public int Id { get; set; }
+ if (string.IsNullOrEmpty(Surname))
+ return Login;
- ///
- /// логин
- ///
- [Required(ErrorMessage = "Логин не должен быть пустым")]
- [StringLength(50, MinimumLength = 3, ErrorMessage = "Допустимая длина логина от 3 до 50 символов")]
- public string Login { get; set; } = null!;
-
- ///
- /// Имя
- ///
- [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина имени от 1 до 50 символов")]
- public string? Name { get; set; }
-
- ///
- /// Фамилия
- ///
- [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина фамилии от 1 до 50 символов")]
- public string? Surname { get; set; }
-
- ///
- /// Отчество
- ///
- [StringLength(50, MinimumLength = 0, ErrorMessage = "Допустимая длина отчества от 1 до 50 символов")]
- public string? Patronymic { get; set; }
-
- ///
- /// Email
- ///
- [Required]
- [StringLength(260, MinimumLength = 3, ErrorMessage = "Допустимая длина email от 3 до 260 символов")]
- public string Email { get; set; } = null!;
-
- ///
- /// Phone
- ///
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина телефона от 1 до 50 символов")]
- public string? Phone { get; set; }
-
- ///
- /// Должность
- ///
- [StringLength(100, MinimumLength = 1, ErrorMessage = "Допустимая длина должности от 1 до 100 символов")]
- public string? Position { get; set; }
-
- ///
- /// Id компании
- ///
- [Required]
- public int IdCompany { get; set; }
-
- ///
- /// Id состояния пользователя
- /// 0 - не активен,
- /// 1 - активен,
- /// 2 - заблокирован
- ///
- public short IdState { get; set; }
-
- ///
- /// DTO компании
- ///
- public CompanyDto? Company { get; set; }
-
- ///
- /// Получение отображаемого имени
- ///
- ///
- public string MakeDisplayName()
+ var s = Surname;
+ if (!string.IsNullOrEmpty(Name))
{
- if (string.IsNullOrEmpty(Surname))
- return Login;
-
- var s = Surname;
- if (!string.IsNullOrEmpty(Name))
- {
- s += $"{Name[0]}.";
- if (!string.IsNullOrEmpty(Patronymic))
- s += $" {Patronymic[0]}.";
- }
-
- return s;
+ s += $"{Name[0]}.";
+ if (!string.IsNullOrEmpty(Patronymic))
+ s += $" {Patronymic[0]}.";
}
+
+ return s;
}
}
diff --git a/AsbCloudApp/Data/User/UserExtendedDto.cs b/AsbCloudApp/Data/User/UserExtendedDto.cs
index 9cec40a6..2ac5e498 100644
--- a/AsbCloudApp/Data/User/UserExtendedDto.cs
+++ b/AsbCloudApp/Data/User/UserExtendedDto.cs
@@ -1,14 +1,13 @@
using System.Collections.Generic;
using System.Linq;
-namespace AsbCloudApp.Data.User
+namespace AsbCloudApp.Data.User;
+
+///
+public class UserExtendedDto : UserDto
{
- ///
- public class UserExtendedDto : UserDto
- {
- ///
- /// Роли пользователя
- ///
- public IEnumerable RoleNames { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Роли пользователя
+ ///
+ public IEnumerable RoleNames { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/User/UserRegistrationDto.cs b/AsbCloudApp/Data/User/UserRegistrationDto.cs
index 26530fa4..403de12f 100644
--- a/AsbCloudApp/Data/User/UserRegistrationDto.cs
+++ b/AsbCloudApp/Data/User/UserRegistrationDto.cs
@@ -1,15 +1,14 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.User
+namespace AsbCloudApp.Data.User;
+
+///
+public class UserRegistrationDto : UserDto
{
- ///
- public class UserRegistrationDto : UserDto
- {
- ///
- /// пароль, используется только при регистрации.
- ///
- [Required(ErrorMessage = "Пароль не должен быть пустым")]
- [StringLength(50, MinimumLength = 3, ErrorMessage = "Допустимая длина пароля от 3 до 50 символов")]
- public string Password { get; set; } = null!;
- }
+ ///
+ /// пароль, используется только при регистрации.
+ ///
+ [Required(ErrorMessage = "Пароль не должен быть пустым")]
+ [StringLength(50, MinimumLength = 3, ErrorMessage = "Допустимая длина пароля от 3 до 50 символов")]
+ public string Password { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/User/UserRoleDto.cs b/AsbCloudApp/Data/User/UserRoleDto.cs
index 68f54434..d78a2d4c 100644
--- a/AsbCloudApp/Data/User/UserRoleDto.cs
+++ b/AsbCloudApp/Data/User/UserRoleDto.cs
@@ -2,36 +2,35 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data.User
+namespace AsbCloudApp.Data.User;
+
+///
+/// Роль пользователя платформы
+///
+public class UserRoleDto : IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// Роль пользователя платформы
+ /// название
///
- public class UserRoleDto : IId
- {
- ///
- public int Id { get; set; }
+ [Required]
+ [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия роли от 1 до 50 символов")]
+ public string Caption { get; set; } = null!;
- ///
- /// название
- ///
- [Required]
- [StringLength(50, MinimumLength = 1, ErrorMessage = "Допустимая длина названия роли от 1 до 50 символов")]
- public string Caption { get; set; } = null!;
+ ///
+ /// id типа роли
+ ///
+ public int IdType { get; set; }
- ///
- /// id типа роли
- ///
- public int IdType { get; set; }
+ ///
+ /// список разрешений
+ ///
+ public IEnumerable Permissions { get; set; } = Enumerable.Empty();
- ///
- /// список разрешений
- ///
- public IEnumerable Permissions { get; set; } = Enumerable.Empty();
-
- ///
- /// Включенные роли
- ///
- public virtual IEnumerable Roles { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Включенные роли
+ ///
+ public virtual IEnumerable Roles { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/User/UserTokenDto.cs b/AsbCloudApp/Data/User/UserTokenDto.cs
index e11a1f8f..ca91f3a6 100644
--- a/AsbCloudApp/Data/User/UserTokenDto.cs
+++ b/AsbCloudApp/Data/User/UserTokenDto.cs
@@ -1,19 +1,18 @@
using System.Collections.Generic;
using System.Linq;
-namespace AsbCloudApp.Data.User
-{
- ///
- public class UserTokenDto : UserExtendedDto
- {
- ///
- /// все разрешения пользователя
- ///
- public IEnumerable Permissions { get; set; } = Enumerable.Empty();
+namespace AsbCloudApp.Data.User;
- ///
- /// bearer token (для работы с web-api)
- ///
- public string Token { get; set; } = null!;
- }
+///
+public class UserTokenDto : UserExtendedDto
+{
+ ///
+ /// все разрешения пользователя
+ ///
+ public IEnumerable Permissions { get; set; } = Enumerable.Empty();
+
+ ///
+ /// bearer token (для работы с web-api)
+ ///
+ public string Token { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/WITS/Record1Dto.cs b/AsbCloudApp/Data/WITS/Record1Dto.cs
index 28a0aaa2..0d0fa162 100644
--- a/AsbCloudApp/Data/WITS/Record1Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record1Dto.cs
@@ -1,582 +1,581 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: General Time-Based
+/// Description: Drilling data gathered at regular time intervals
+///
+
+public class Record1Dto : RecordBaseDto
{
+
///
- /// Record name: General Time-Based
- /// Description: Drilling data gathered at regular time intervals
+ /// RecordId = 1,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "Depth Bit (meas)",
+ /// Description2 = "Code indicating what activity is currently being performed on the rig. IT IS ESSENTIAL that this information be as accurate and current as possible. Acceptable codes are shown here",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record1Dto : RecordBaseDto
- {
-
- ///
- /// RecordId = 1,
- /// ItemId = 8,
- /// LongMnemonic = "DEPTBITM",
- /// ShortMnemonic = "DBTM",
- /// Description = "Depth Bit (meas)",
- /// Description2 = "Code indicating what activity is currently being performed on the rig. IT IS ESSENTIAL that this information be as accurate and current as possible. Acceptable codes are shown here",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptbitm { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 9,
- /// LongMnemonic = "DEPTBITV",
- /// ShortMnemonic = "DBTV",
- /// Description = "Depth Bit (vert)",
- /// Description2 = "Measured depth of the bit at the time the record is generated. This is the measured depth of the shoe when running casing or liner.",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptbitv { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 10,
- /// LongMnemonic = "DEPTMEAS",
- /// ShortMnemonic = "DMEA",
- /// Description = "Depth Hole (meas)",
- /// Description2 = "Vertical depth of the bit at the time the record is generated. This is the vertical depth of the shoe when running casing or liner.",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptmeas { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 11,
- /// LongMnemonic = "DEPTVERT",
- /// ShortMnemonic = "DVER",
- /// Description = "Depth Hole (vet)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptvert { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 12,
- /// LongMnemonic = "BLKPOS",
- /// ShortMnemonic = "BPOS",
- /// Description = "Block Position",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Blkpos { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 13,
- /// LongMnemonic = "ROPA",
- /// ShortMnemonic = "ROPA",
- /// Description = "Rate of Penetration (avg)",
- /// Description2 = "",
- /// FPSUnits = "F/HR",
- /// MetricUnits = "M/HR",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Ropa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 14,
- /// LongMnemonic = "HKLA",
- /// ShortMnemonic = "HKLA",
- /// Description = "Hook-load (avg)",
- /// Description2 = "",
- /// FPSUnits = "KLB",
- /// MetricUnits = "KDN",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Hkla { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 15,
- /// LongMnemonic = "HKLX",
- /// ShortMnemonic = "HKLX",
- /// Description = "Hook-load (max)",
- /// Description2 = "",
- /// FPSUnits = "KLB",
- /// MetricUnits = "KDN",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Hklx { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 16,
- /// LongMnemonic = "WOBA",
- /// ShortMnemonic = "WOBA",
- /// Description = "Weight-on-Bit (surf,avg)",
- /// Description2 = "",
- /// FPSUnits = "KLB",
- /// MetricUnits = "KDN",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Woba { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 17,
- /// LongMnemonic = "WOBX",
- /// ShortMnemonic = "WOBX",
- /// Description = "Weight-on-Bit (surf,max)",
- /// Description2 = "",
- /// FPSUnits = "KLB",
- /// MetricUnits = "KDN",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Wobx { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 18,
- /// LongMnemonic = "TORQA",
- /// ShortMnemonic = "TQA",
- /// Description = "Rotary Torque (surf,avg)",
- /// Description2 = "",
- /// FPSUnits = "KFLB",
- /// MetricUnits = "KNM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Torqa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 19,
- /// LongMnemonic = "TORQX",
- /// ShortMnemonic = "TQX",
- /// Description = "Rotary Torque (surf,max)",
- /// Description2 = "",
- /// FPSUnits = "KFLB",
- /// MetricUnits = "KNM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Torqx { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 20,
- /// LongMnemonic = "RPMA",
- /// ShortMnemonic = "RPMA",
- /// Description = "Rotary Speed (surf,avg)",
- /// Description2 = "",
- /// FPSUnits = "RPM",
- /// MetricUnits = "RPM",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Rpma { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 21,
- /// LongMnemonic = "SPPA",
- /// ShortMnemonic = "SPPA",
- /// Description = "Standpipe Pressure (avg)",
- /// Description2 = "",
- /// FPSUnits = "PSI",
- /// MetricUnits = "KPA",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Sppa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 22,
- /// LongMnemonic = "CHKP",
- /// ShortMnemonic = "CHKP",
- /// Description = "Casing (Choke) Pressure",
- /// Description2 = "",
- /// FPSUnits = "PSI",
- /// MetricUnits = "KPA",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Chkp { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 23,
- /// LongMnemonic = "SPM1",
- /// ShortMnemonic = "SPM1",
- /// Description = "Pump Stroke Rate #1",
- /// Description2 = "",
- /// FPSUnits = "SPM",
- /// MetricUnits = "SPM",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Spm1 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 24,
- /// LongMnemonic = "SPM2",
- /// ShortMnemonic = "SPM2",
- /// Description = "Pump Stroke Rate #2",
- /// Description2 = "",
- /// FPSUnits = "SPM",
- /// MetricUnits = "SPM",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Spm2 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 25,
- /// LongMnemonic = "SPM3",
- /// ShortMnemonic = "SPM3",
- /// Description = "Pump Stroke Rate #3",
- /// Description2 = "",
- /// FPSUnits = "SPM",
- /// MetricUnits = "SPM",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Spm3 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 26,
- /// LongMnemonic = "TVOLACT",
- /// ShortMnemonic = "TVA",
- /// Description = "Tank Volume (active)",
- /// Description2 = "",
- /// FPSUnits = "BBL",
- /// MetricUnits = "M3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Tvolact { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 27,
- /// LongMnemonic = "TVOLCACT",
- /// ShortMnemonic = "TVCA",
- /// Description = "Tank Volume Change (act)",
- /// Description2 = "",
- /// FPSUnits = "BBL",
- /// MetricUnits = "M3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Tvolcact { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 28,
- /// LongMnemonic = "MFOP",
- /// ShortMnemonic = "MFOP",
- /// Description = "Mud Flow Out %",
- /// Description2 = "",
- /// FPSUnits = "%",
- /// MetricUnits = "%",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Mfop { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 29,
- /// LongMnemonic = "MFOA",
- /// ShortMnemonic = "MFOA",
- /// Description = "Mud Flow Out (avg)",
- /// Description2 = "",
- /// FPSUnits = "GPM",
- /// MetricUnits = "L/M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfoa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 30,
- /// LongMnemonic = "MFIA",
- /// ShortMnemonic = "MFIA",
- /// Description = "Mud Flow In (avg)",
- /// Description2 = "",
- /// FPSUnits = "GPM",
- /// MetricUnits = "L/M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfia { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 31,
- /// LongMnemonic = "MDOA",
- /// ShortMnemonic = "MDOA",
- /// Description = "Mud Density Out (avg)",
- /// Description2 = "",
- /// FPSUnits = "PPG",
- /// MetricUnits = "KGM3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mdoa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 32,
- /// LongMnemonic = "MDIA",
- /// ShortMnemonic = "MDIA",
- /// Description = "Mud Density In (avg)",
- /// Description2 = "",
- /// FPSUnits = "PPG",
- /// MetricUnits = "KGM3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mdia { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 33,
- /// LongMnemonic = "MTOA",
- /// ShortMnemonic = "MTOA",
- /// Description = "Mud Temperature Out (avg)",
- /// Description2 = "",
- /// FPSUnits = "DEGF",
- /// MetricUnits = "DEGC",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mtoa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 34,
- /// LongMnemonic = "MTIA",
- /// ShortMnemonic = "MTIA",
- /// Description = "Mud Temperature In (avg)",
- /// Description2 = "",
- /// FPSUnits = "DEGF",
- /// MetricUnits = "DEGC",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mtia { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 35,
- /// LongMnemonic = "MCOA",
- /// ShortMnemonic = "MCOA",
- /// Description = "Mud Conductivity Out (avg)",
- /// Description2 = "",
- /// FPSUnits = "MMHO",
- /// MetricUnits = "MMHO",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mcoa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 36,
- /// LongMnemonic = "MCIA",
- /// ShortMnemonic = "MCIA",
- /// Description = "Mud Conductivity In (avg)",
- /// Description2 = "",
- /// FPSUnits = "MMHO",
- /// MetricUnits = "MMHO",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mcia { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 37,
- /// LongMnemonic = "STKC",
- /// ShortMnemonic = "STKC",
- /// Description = "Pump Stroke Count (cum)",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "L"
- ///
-
- public int? Stkc { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 38,
- /// LongMnemonic = "LAGSTKS",
- /// ShortMnemonic = "LSTK",
- /// Description = "Lag Strokes",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Lagstks { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 39,
- /// LongMnemonic = "DEPTRETM",
- /// ShortMnemonic = "DRTM",
- /// Description = "Depth Returns (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptretm { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 40,
- /// LongMnemonic = "GASA",
- /// ShortMnemonic = "GASA",
- /// Description = "Gas (avg)",
- /// Description2 = "",
- /// FPSUnits = "%",
- /// MetricUnits = "%",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Gasa { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 41,
- /// LongMnemonic = "SPARE1",
- /// ShortMnemonic = "SPR1",
- /// Description = "SPARE 1",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare1 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 42,
- /// LongMnemonic = "SPARE2",
- /// ShortMnemonic = "SPR2",
- /// Description = "SPARE 2",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare2 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 43,
- /// LongMnemonic = "SPARE3",
- /// ShortMnemonic = "SPR3",
- /// Description = "SPARE 3",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare3 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 44,
- /// LongMnemonic = "SPARE4",
- /// ShortMnemonic = "SPR4",
- /// Description = "SPARE 4",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare4 { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 45,
- /// LongMnemonic = "SPARE5",
- /// ShortMnemonic = "SPR5",
- /// Description = "SPARE 5",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare5 { get; set; }
-
- }
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTBITV",
+ /// ShortMnemonic = "DBTV",
+ /// Description = "Depth Bit (vert)",
+ /// Description2 = "Measured depth of the bit at the time the record is generated. This is the measured depth of the shoe when running casing or liner.",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitv { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "Vertical depth of the bit at the time the record is generated. This is the vertical depth of the shoe when running casing or liner.",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTVERT",
+ /// ShortMnemonic = "DVER",
+ /// Description = "Depth Hole (vet)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptvert { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 12,
+ /// LongMnemonic = "BLKPOS",
+ /// ShortMnemonic = "BPOS",
+ /// Description = "Block Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Blkpos { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 13,
+ /// LongMnemonic = "ROPA",
+ /// ShortMnemonic = "ROPA",
+ /// Description = "Rate of Penetration (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "F/HR",
+ /// MetricUnits = "M/HR",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Ropa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 14,
+ /// LongMnemonic = "HKLA",
+ /// ShortMnemonic = "HKLA",
+ /// Description = "Hook-load (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Hkla { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 15,
+ /// LongMnemonic = "HKLX",
+ /// ShortMnemonic = "HKLX",
+ /// Description = "Hook-load (max)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Hklx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 16,
+ /// LongMnemonic = "WOBA",
+ /// ShortMnemonic = "WOBA",
+ /// Description = "Weight-on-Bit (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Woba { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 17,
+ /// LongMnemonic = "WOBX",
+ /// ShortMnemonic = "WOBX",
+ /// Description = "Weight-on-Bit (surf,max)",
+ /// Description2 = "",
+ /// FPSUnits = "KLB",
+ /// MetricUnits = "KDN",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Wobx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 18,
+ /// LongMnemonic = "TORQA",
+ /// ShortMnemonic = "TQA",
+ /// Description = "Rotary Torque (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "KFLB",
+ /// MetricUnits = "KNM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Torqa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 19,
+ /// LongMnemonic = "TORQX",
+ /// ShortMnemonic = "TQX",
+ /// Description = "Rotary Torque (surf,max)",
+ /// Description2 = "",
+ /// FPSUnits = "KFLB",
+ /// MetricUnits = "KNM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Torqx { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 20,
+ /// LongMnemonic = "RPMA",
+ /// ShortMnemonic = "RPMA",
+ /// Description = "Rotary Speed (surf,avg)",
+ /// Description2 = "",
+ /// FPSUnits = "RPM",
+ /// MetricUnits = "RPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Rpma { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 21,
+ /// LongMnemonic = "SPPA",
+ /// ShortMnemonic = "SPPA",
+ /// Description = "Standpipe Pressure (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PSI",
+ /// MetricUnits = "KPA",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Sppa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 22,
+ /// LongMnemonic = "CHKP",
+ /// ShortMnemonic = "CHKP",
+ /// Description = "Casing (Choke) Pressure",
+ /// Description2 = "",
+ /// FPSUnits = "PSI",
+ /// MetricUnits = "KPA",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Chkp { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 23,
+ /// LongMnemonic = "SPM1",
+ /// ShortMnemonic = "SPM1",
+ /// Description = "Pump Stroke Rate #1",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm1 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 24,
+ /// LongMnemonic = "SPM2",
+ /// ShortMnemonic = "SPM2",
+ /// Description = "Pump Stroke Rate #2",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm2 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 25,
+ /// LongMnemonic = "SPM3",
+ /// ShortMnemonic = "SPM3",
+ /// Description = "Pump Stroke Rate #3",
+ /// Description2 = "",
+ /// FPSUnits = "SPM",
+ /// MetricUnits = "SPM",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Spm3 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 26,
+ /// LongMnemonic = "TVOLACT",
+ /// ShortMnemonic = "TVA",
+ /// Description = "Tank Volume (active)",
+ /// Description2 = "",
+ /// FPSUnits = "BBL",
+ /// MetricUnits = "M3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Tvolact { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 27,
+ /// LongMnemonic = "TVOLCACT",
+ /// ShortMnemonic = "TVCA",
+ /// Description = "Tank Volume Change (act)",
+ /// Description2 = "",
+ /// FPSUnits = "BBL",
+ /// MetricUnits = "M3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Tvolcact { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 28,
+ /// LongMnemonic = "MFOP",
+ /// ShortMnemonic = "MFOP",
+ /// Description = "Mud Flow Out %",
+ /// Description2 = "",
+ /// FPSUnits = "%",
+ /// MetricUnits = "%",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Mfop { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 29,
+ /// LongMnemonic = "MFOA",
+ /// ShortMnemonic = "MFOA",
+ /// Description = "Mud Flow Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "GPM",
+ /// MetricUnits = "L/M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 30,
+ /// LongMnemonic = "MFIA",
+ /// ShortMnemonic = "MFIA",
+ /// Description = "Mud Flow In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "GPM",
+ /// MetricUnits = "L/M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 31,
+ /// LongMnemonic = "MDOA",
+ /// ShortMnemonic = "MDOA",
+ /// Description = "Mud Density Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mdoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 32,
+ /// LongMnemonic = "MDIA",
+ /// ShortMnemonic = "MDIA",
+ /// Description = "Mud Density In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mdia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 33,
+ /// LongMnemonic = "MTOA",
+ /// ShortMnemonic = "MTOA",
+ /// Description = "Mud Temperature Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mtoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 34,
+ /// LongMnemonic = "MTIA",
+ /// ShortMnemonic = "MTIA",
+ /// Description = "Mud Temperature In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mtia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 35,
+ /// LongMnemonic = "MCOA",
+ /// ShortMnemonic = "MCOA",
+ /// Description = "Mud Conductivity Out (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "MMHO",
+ /// MetricUnits = "MMHO",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mcoa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 36,
+ /// LongMnemonic = "MCIA",
+ /// ShortMnemonic = "MCIA",
+ /// Description = "Mud Conductivity In (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "MMHO",
+ /// MetricUnits = "MMHO",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mcia { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 37,
+ /// LongMnemonic = "STKC",
+ /// ShortMnemonic = "STKC",
+ /// Description = "Pump Stroke Count (cum)",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
+
+ public int? Stkc { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 38,
+ /// LongMnemonic = "LAGSTKS",
+ /// ShortMnemonic = "LSTK",
+ /// Description = "Lag Strokes",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Lagstks { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 39,
+ /// LongMnemonic = "DEPTRETM",
+ /// ShortMnemonic = "DRTM",
+ /// Description = "Depth Returns (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptretm { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 40,
+ /// LongMnemonic = "GASA",
+ /// ShortMnemonic = "GASA",
+ /// Description = "Gas (avg)",
+ /// Description2 = "",
+ /// FPSUnits = "%",
+ /// MetricUnits = "%",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Gasa { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 41,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "SPARE 1",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare1 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 42,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "SPARE 2",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare2 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 43,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "SPARE 3",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare3 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 44,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "SPARE 4",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare4 { get; set; }
+
+ ///
+ /// RecordId = 1,
+ /// ItemId = 45,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "SPARE 5",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare5 { get; set; }
+
}
diff --git a/AsbCloudApp/Data/WITS/Record50Dto.cs b/AsbCloudApp/Data/WITS/Record50Dto.cs
index c72fa154..a7d848d5 100644
--- a/AsbCloudApp/Data/WITS/Record50Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record50Dto.cs
@@ -1,298 +1,297 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: Резистивиметр MCR
+/// Description: SibReciver. Резистивиметр MCR
+/// Description2:
+///
+
+public class Record50Dto : RecordBaseDto
{
+
///
- /// Record name: Резистивиметр MCR
- /// Description: SibReciver. Резистивиметр MCR
- /// Description2:
+ /// RecordId = 50,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record50Dto : RecordBaseDto
- {
+ public float? Deptbitm { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 8,
- /// LongMnemonic = "DEPTBITM",
- /// ShortMnemonic = "DBTM",
- /// Description = "SibReceiver custom. Положение долота",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS_MCRSTAT",
+ /// ShortMnemonic = "DEPTMEAS_MCRSTAT",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptbitm { get; set; }
+ public float? DeptmeasMcrstat { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 10,
- /// LongMnemonic = "DEPTMEAS_MCRSTAT",
- /// ShortMnemonic = "DEPTMEAS_MCRSTAT",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 11,
+ /// LongMnemonic = "MCRSTAT",
+ /// ShortMnemonic = "MCRSTAT",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasMcrstat { get; set; }
+ public float? Mcrstat { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 11,
- /// LongMnemonic = "MCRSTAT",
- /// ShortMnemonic = "MCRSTAT",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 12,
+ /// LongMnemonic = "DEPTMEAS_SLVL_mc",
+ /// ShortMnemonic = "DEPTMEAS_SLVL_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Mcrstat { get; set; }
+ public float? DeptmeasSlvlMc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 12,
- /// LongMnemonic = "DEPTMEAS_SLVL_mc",
- /// ShortMnemonic = "DEPTMEAS_SLVL_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 13,
+ /// LongMnemonic = "SLVL_mc",
+ /// ShortMnemonic = "SLVL_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasSlvlMc { get; set; }
+ public float? SlvlMc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 13,
- /// LongMnemonic = "SLVL_mc",
- /// ShortMnemonic = "SLVL_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 14,
+ /// LongMnemonic = "DEPTMEAS_GDP_mc",
+ /// ShortMnemonic = "DEPTMEAS_GDP_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? SlvlMc { get; set; }
+ public float? DeptmeasGdpMc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 14,
- /// LongMnemonic = "DEPTMEAS_GDP_mc",
- /// ShortMnemonic = "DEPTMEAS_GDP_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 15,
+ /// LongMnemonic = "GDP_mc",
+ /// ShortMnemonic = "GDP_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasGdpMc { get; set; }
+ public float? GdpMc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 15,
- /// LongMnemonic = "GDP_mc",
- /// ShortMnemonic = "GDP_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 16,
+ /// LongMnemonic = "DEPTMEAS_RA33F2_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? GdpMc { get; set; }
+ public float? DeptmeasRa33f2Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 16,
- /// LongMnemonic = "DEPTMEAS_RA33F2_mc",
- /// ShortMnemonic = "DEPTMEAS_RA33F2_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 17,
+ /// LongMnemonic = "RA33F2_mc",
+ /// ShortMnemonic = "RA33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRa33f2Mc { get; set; }
+ public float? Ra33f2Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 17,
- /// LongMnemonic = "RA33F2_mc",
- /// ShortMnemonic = "RA33F2_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 18,
+ /// LongMnemonic = "DEPTMEAS_RP33F2_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Ra33f2Mc { get; set; }
+ public float? DeptmeasRp33f2Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 18,
- /// LongMnemonic = "DEPTMEAS_RP33F2_mc",
- /// ShortMnemonic = "DEPTMEAS_RP33F2_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 19,
+ /// LongMnemonic = "RP33F2_mc",
+ /// ShortMnemonic = "RP33F2_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRp33f2Mc { get; set; }
+ public float? Rp33f2Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 19,
- /// LongMnemonic = "RP33F2_mc",
- /// ShortMnemonic = "RP33F2_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 20,
+ /// LongMnemonic = "DEPTMEAS_RA33F4_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Rp33f2Mc { get; set; }
+ public float? DeptmeasRa33f4Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 20,
- /// LongMnemonic = "DEPTMEAS_RA33F4_mc",
- /// ShortMnemonic = "DEPTMEAS_RA33F4_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 21,
+ /// LongMnemonic = "RA33F4_mc",
+ /// ShortMnemonic = "RA33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRa33f4Mc { get; set; }
+ public float? Ra33f4Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 21,
- /// LongMnemonic = "RA33F4_mc",
- /// ShortMnemonic = "RA33F4_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 22,
+ /// LongMnemonic = "DEPTMEAS_RP33F4_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Ra33f4Mc { get; set; }
+ public float? DeptmeasRp33f4Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 22,
- /// LongMnemonic = "DEPTMEAS_RP33F4_mc",
- /// ShortMnemonic = "DEPTMEAS_RP33F4_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 23,
+ /// LongMnemonic = "RP33F4_mc",
+ /// ShortMnemonic = "RP33F4_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRp33f4Mc { get; set; }
+ public float? Rp33f4Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 23,
- /// LongMnemonic = "RP33F4_mc",
- /// ShortMnemonic = "RP33F4_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 46,
+ /// LongMnemonic = "DEPTMEAS_RA33_mc",
+ /// ShortMnemonic = "DEPTMEAS_RA33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Rp33f4Mc { get; set; }
+ public float? DeptmeasRa33Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 46,
- /// LongMnemonic = "DEPTMEAS_RA33_mc",
- /// ShortMnemonic = "DEPTMEAS_RA33_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 47,
+ /// LongMnemonic = "RA33_mc",
+ /// ShortMnemonic = "RA33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRa33Mc { get; set; }
+ public float? Ra33Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 47,
- /// LongMnemonic = "RA33_mc",
- /// ShortMnemonic = "RA33_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 28,
+ /// LongMnemonic = "DEPTMEAS_RP33_mc",
+ /// ShortMnemonic = "DEPTMEAS_RP33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Ra33Mc { get; set; }
+ public float? DeptmeasRp33Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 28,
- /// LongMnemonic = "DEPTMEAS_RP33_mc",
- /// ShortMnemonic = "DEPTMEAS_RP33_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 50,
+ /// ItemId = 29,
+ /// LongMnemonic = "RP33_mc",
+ /// ShortMnemonic = "RP33_mc",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? DeptmeasRp33Mc { get; set; }
+ public float? Rp33Mc { get; set; }
- ///
- /// RecordId = 50,
- /// ItemId = 29,
- /// LongMnemonic = "RP33_mc",
- /// ShortMnemonic = "RP33_mc",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Rp33Mc { get; set; }
-
- }
}
diff --git a/AsbCloudApp/Data/WITS/Record60Dto.cs b/AsbCloudApp/Data/WITS/Record60Dto.cs
index 19dc5338..0387cbeb 100644
--- a/AsbCloudApp/Data/WITS/Record60Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record60Dto.cs
@@ -1,163 +1,162 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: Передача полных
+/// Description: SibReciver. Передача полных
+/// Description2:
+///
+
+public class Record60Dto : RecordBaseDto
{
+
///
- /// Record name: Передача полных
- /// Description: SibReciver. Передача полных
- /// Description2:
+ /// RecordId = 60,
+ /// ItemId = 99,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record60Dto : RecordBaseDto
- {
+ public float? Deptbitm { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 99,
- /// LongMnemonic = "DEPTBITM",
- /// ShortMnemonic = "DBTM",
- /// Description = "SibReceiver custom. Положение долота",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "SibReceiver custom. Точка Замера",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptbitm { get; set; }
+ public float? Deptmeas { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 10,
- /// LongMnemonic = "DEPTMEAS",
- /// ShortMnemonic = "DMEA",
- /// Description = "SibReceiver custom. Точка Замера",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 11,
+ /// LongMnemonic = "Gtot",
+ /// ShortMnemonic = "Gtot",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptmeas { get; set; }
+ public float? Gtot { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 11,
- /// LongMnemonic = "Gtot",
- /// ShortMnemonic = "Gtot",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 12,
+ /// LongMnemonic = "Gx",
+ /// ShortMnemonic = "Gx",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Gtot { get; set; }
+ public float? Gx { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 12,
- /// LongMnemonic = "Gx",
- /// ShortMnemonic = "Gx",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 13,
+ /// LongMnemonic = "Gy",
+ /// ShortMnemonic = "Gy",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Gx { get; set; }
+ public float? Gy { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 13,
- /// LongMnemonic = "Gy",
- /// ShortMnemonic = "Gy",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 14,
+ /// LongMnemonic = "Gz",
+ /// ShortMnemonic = "Gz",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Gy { get; set; }
+ public float? Gz { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 14,
- /// LongMnemonic = "Gz",
- /// ShortMnemonic = "Gz",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 15,
+ /// LongMnemonic = "Btot",
+ /// ShortMnemonic = "Btot",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Gz { get; set; }
+ public float? Btot { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 15,
- /// LongMnemonic = "Btot",
- /// ShortMnemonic = "Btot",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 16,
+ /// LongMnemonic = "Bx",
+ /// ShortMnemonic = "Bx",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Btot { get; set; }
+ public float? Bx { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 16,
- /// LongMnemonic = "Bx",
- /// ShortMnemonic = "Bx",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 17,
+ /// LongMnemonic = "By",
+ /// ShortMnemonic = "By",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Bx { get; set; }
+ public float? By { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 17,
- /// LongMnemonic = "By",
- /// ShortMnemonic = "By",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 60,
+ /// ItemId = 18,
+ /// LongMnemonic = "Bz",
+ /// ShortMnemonic = "Bz",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? By { get; set; }
+ public float? Bz { get; set; }
- ///
- /// RecordId = 60,
- /// ItemId = 18,
- /// LongMnemonic = "Bz",
- /// ShortMnemonic = "Bz",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Bz { get; set; }
-
- }
}
diff --git a/AsbCloudApp/Data/WITS/Record61Dto.cs b/AsbCloudApp/Data/WITS/Record61Dto.cs
index 12d59663..18f0e202 100644
--- a/AsbCloudApp/Data/WITS/Record61Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record61Dto.cs
@@ -1,178 +1,177 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: Резистивиметр Corvet
+/// Description: SibReciver. Резистивиметр Corvet
+/// Description2:
+///
+
+public class Record61Dto : RecordBaseDto
{
+
///
- /// Record name: Резистивиметр Corvet
- /// Description: SibReciver. Резистивиметр Corvet
- /// Description2:
+ /// RecordId = 61,
+ /// ItemId = 99,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "SibReceiver custom. Положение долота",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record61Dto : RecordBaseDto
- {
+ public float? Deptbitm { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 99,
- /// LongMnemonic = "DEPTBITM",
- /// ShortMnemonic = "DBTM",
- /// Description = "SibReceiver custom. Положение долота",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "SibReceiver custom. Точка Замера",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptbitm { get; set; }
+ public float? Deptmeas { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 10,
- /// LongMnemonic = "DEPTMEAS",
- /// ShortMnemonic = "DMEA",
- /// Description = "SibReceiver custom. Точка Замера",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 11,
+ /// LongMnemonic = "PHL1F1",
+ /// ShortMnemonic = "PHL1F1",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptmeas { get; set; }
+ public float? Phl1f1 { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 11,
- /// LongMnemonic = "PHL1F1",
- /// ShortMnemonic = "PHL1F1",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 12,
+ /// LongMnemonic = "PHL1F2",
+ /// ShortMnemonic = "PHL1F2",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Phl1f1 { get; set; }
+ public float? Phl1f2 { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 12,
- /// LongMnemonic = "PHL1F2",
- /// ShortMnemonic = "PHL1F2",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 13,
+ /// LongMnemonic = "PHL2F1",
+ /// ShortMnemonic = "PHL2F1",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Phl1f2 { get; set; }
+ public float? Phl2f1 { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 13,
- /// LongMnemonic = "PHL2F1",
- /// ShortMnemonic = "PHL2F1",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 14,
+ /// LongMnemonic = "PHL2F2",
+ /// ShortMnemonic = "PHL2F2",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Phl2f1 { get; set; }
+ public float? Phl2f2 { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 14,
- /// LongMnemonic = "PHL2F2",
- /// ShortMnemonic = "PHL2F2",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 15,
+ /// LongMnemonic = "ATT06H",
+ /// ShortMnemonic = "ATT06H",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Phl2f2 { get; set; }
+ public float? Att06h { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 15,
- /// LongMnemonic = "ATT06H",
- /// ShortMnemonic = "ATT06H",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 16,
+ /// LongMnemonic = "ATT06L",
+ /// ShortMnemonic = "ATT06L",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Att06h { get; set; }
+ public float? Att06l { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 16,
- /// LongMnemonic = "ATT06L",
- /// ShortMnemonic = "ATT06L",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 17,
+ /// LongMnemonic = "ATT10H",
+ /// ShortMnemonic = "ATT10H",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Att06l { get; set; }
+ public float? Att10h { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 17,
- /// LongMnemonic = "ATT10H",
- /// ShortMnemonic = "ATT10H",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 18,
+ /// LongMnemonic = "ATT10L",
+ /// ShortMnemonic = "ATT10L",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Att10h { get; set; }
+ public float? Att10l { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 18,
- /// LongMnemonic = "ATT10L",
- /// ShortMnemonic = "ATT10L",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 61,
+ /// ItemId = 19,
+ /// LongMnemonic = "Status",
+ /// ShortMnemonic = "Status",
+ /// Description = "SibReceiver custom",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Att10l { get; set; }
+ public float? Status { get; set; }
- ///
- /// RecordId = 61,
- /// ItemId = 19,
- /// LongMnemonic = "Status",
- /// ShortMnemonic = "Status",
- /// Description = "SibReceiver custom",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Status { get; set; }
-
- }
}
diff --git a/AsbCloudApp/Data/WITS/Record7Dto.cs b/AsbCloudApp/Data/WITS/Record7Dto.cs
index 0e7664ff..54c05501 100644
--- a/AsbCloudApp/Data/WITS/Record7Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record7Dto.cs
@@ -1,298 +1,297 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: Survey/Directional
+/// Description: Directional/Survey data
+/// Description2:
+///
+
+public class Record7Dto : RecordBaseDto
{
+
///
- /// Record name: Survey/Directional
- /// Description: Directional/Survey data
- /// Description2:
+ /// RecordId = 7,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTSVYM",
+ /// ShortMnemonic = "DSVM",
+ /// Description = "Depth Svy/reading (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record7Dto : RecordBaseDto
- {
+ public float? Deptsvym { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 8,
- /// LongMnemonic = "DEPTSVYM",
- /// ShortMnemonic = "DSVM",
- /// Description = "Depth Svy/reading (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTSVYV",
+ /// ShortMnemonic = "DSVV",
+ /// Description = "Depth Svy/reading (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Deptsvym { get; set; }
+ public float? Deptsvyv { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 9,
- /// LongMnemonic = "DEPTSVYV",
- /// ShortMnemonic = "DSVV",
- /// Description = "Depth Svy/reading (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 10,
+ /// LongMnemonic = "PASSNUM",
+ /// ShortMnemonic = "PASS",
+ /// Description = "Pass Number",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
- public float? Deptsvyv { get; set; }
+ public short? Passnum { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 10,
- /// LongMnemonic = "PASSNUM",
- /// ShortMnemonic = "PASS",
- /// Description = "Pass Number",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public short? Passnum { get; set; }
+ public float? Deptmeas { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 11,
- /// LongMnemonic = "DEPTMEAS",
- /// ShortMnemonic = "DMEA",
- /// Description = "Depth Hole (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 12,
+ /// LongMnemonic = "SVYTYPE",
+ /// ShortMnemonic = "STYP",
+ /// Description = "Svy Type",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 8,
+ /// ValueType = "A"
+ ///
- public float? Deptmeas { get; set; }
+ public string Svytype { get; set; } = string.Empty;
- ///
- /// RecordId = 7,
- /// ItemId = 12,
- /// LongMnemonic = "SVYTYPE",
- /// ShortMnemonic = "STYP",
- /// Description = "Svy Type",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 8,
- /// ValueType = "A"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 13,
+ /// LongMnemonic = "SVYINC",
+ /// ShortMnemonic = "SINC",
+ /// Description = "Svy Inclination",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public string Svytype { get; set; } = string.Empty;
+ public float? Svyinc { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 13,
- /// LongMnemonic = "SVYINC",
- /// ShortMnemonic = "SINC",
- /// Description = "Svy Inclination",
- /// Description2 = "",
- /// FPSUnits = "DEG",
- /// MetricUnits = "DEG",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 14,
+ /// LongMnemonic = "SVYAZU",
+ /// ShortMnemonic = "SAZU",
+ /// Description = "Svy Azimuth (uncorrected)",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svyinc { get; set; }
+ public float? Svyazu { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 14,
- /// LongMnemonic = "SVYAZU",
- /// ShortMnemonic = "SAZU",
- /// Description = "Svy Azimuth (uncorrected)",
- /// Description2 = "",
- /// FPSUnits = "DEG",
- /// MetricUnits = "DEG",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 15,
+ /// LongMnemonic = "SVYAZC",
+ /// ShortMnemonic = "SAZC",
+ /// Description = "Svy Azimuth (corrected)",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svyazu { get; set; }
+ public float? Svyazc { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 15,
- /// LongMnemonic = "SVYAZC",
- /// ShortMnemonic = "SAZC",
- /// Description = "Svy Azimuth (corrected)",
- /// Description2 = "",
- /// FPSUnits = "DEG",
- /// MetricUnits = "DEG",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 16,
+ /// LongMnemonic = "SVYMTF",
+ /// ShortMnemonic = "SMTF",
+ /// Description = "Svy Magnetic Toolface",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svyazc { get; set; }
+ public float? Svymtf { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 16,
- /// LongMnemonic = "SVYMTF",
- /// ShortMnemonic = "SMTF",
- /// Description = "Svy Magnetic Toolface",
- /// Description2 = "",
- /// FPSUnits = "DEG",
- /// MetricUnits = "DEG",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 17,
+ /// LongMnemonic = "SVYGTF",
+ /// ShortMnemonic = "SGTF",
+ /// Description = "Svy Gravity Toolface",
+ /// Description2 = "",
+ /// FPSUnits = "DEG",
+ /// MetricUnits = "DEG",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svymtf { get; set; }
+ public float? Svygtf { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 17,
- /// LongMnemonic = "SVYGTF",
- /// ShortMnemonic = "SGTF",
- /// Description = "Svy Gravity Toolface",
- /// Description2 = "",
- /// FPSUnits = "DEG",
- /// MetricUnits = "DEG",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 18,
+ /// LongMnemonic = "SVYNS",
+ /// ShortMnemonic = "SNS",
+ /// Description = "Svy North-South Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svygtf { get; set; }
+ public float? Svyns { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 18,
- /// LongMnemonic = "SVYNS",
- /// ShortMnemonic = "SNS",
- /// Description = "Svy North-South Position",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 19,
+ /// LongMnemonic = "SVYEW",
+ /// ShortMnemonic = "SEW",
+ /// Description = "Svy East-West Position",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svyns { get; set; }
+ public float? Svyew { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 19,
- /// LongMnemonic = "SVYEW",
- /// ShortMnemonic = "SEW",
- /// Description = "Svy East-West Position",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 20,
+ /// LongMnemonic = "SVYDLS",
+ /// ShortMnemonic = "SDLS",
+ /// Description = "Svy Dog Leg Severity",
+ /// Description2 = "",
+ /// FPSUnits = "DGHF",
+ /// MetricUnits = "DGHM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svyew { get; set; }
+ public float? Svydls { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 20,
- /// LongMnemonic = "SVYDLS",
- /// ShortMnemonic = "SDLS",
- /// Description = "Svy Dog Leg Severity",
- /// Description2 = "",
- /// FPSUnits = "DGHF",
- /// MetricUnits = "DGHM",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 21,
+ /// LongMnemonic = "SVYWALK",
+ /// ShortMnemonic = "SWLK",
+ /// Description = "Svy Rate of Walk",
+ /// Description2 = "",
+ /// FPSUnits = "DGHF",
+ /// MetricUnits = "DGHM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svydls { get; set; }
+ public float? Svywalk { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 21,
- /// LongMnemonic = "SVYWALK",
- /// ShortMnemonic = "SWLK",
- /// Description = "Svy Rate of Walk",
- /// Description2 = "",
- /// FPSUnits = "DGHF",
- /// MetricUnits = "DGHM",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 22,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "SPARE 1",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Svywalk { get; set; }
+ public float? Spare1 { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 22,
- /// LongMnemonic = "SPARE1",
- /// ShortMnemonic = "SPR1",
- /// Description = "SPARE 1",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 23,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "SPARE 2",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Spare1 { get; set; }
+ public float? Spare2 { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 23,
- /// LongMnemonic = "SPARE2",
- /// ShortMnemonic = "SPR2",
- /// Description = "SPARE 2",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 24,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "SPARE 3",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Spare2 { get; set; }
+ public float? Spare3 { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 24,
- /// LongMnemonic = "SPARE3",
- /// ShortMnemonic = "SPR3",
- /// Description = "SPARE 3",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 25,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "SPARE 4",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Spare3 { get; set; }
+ public float? Spare4 { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 25,
- /// LongMnemonic = "SPARE4",
- /// ShortMnemonic = "SPR4",
- /// Description = "SPARE 4",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
+ ///
+ /// RecordId = 7,
+ /// ItemId = 26,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "SPARE 5",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
- public float? Spare4 { get; set; }
+ public float? Spare5 { get; set; }
- ///
- /// RecordId = 7,
- /// ItemId = 26,
- /// LongMnemonic = "SPARE5",
- /// ShortMnemonic = "SPR5",
- /// Description = "SPARE 5",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare5 { get; set; }
-
- }
}
diff --git a/AsbCloudApp/Data/WITS/Record8Dto.cs b/AsbCloudApp/Data/WITS/Record8Dto.cs
index 7a8d7331..ee196058 100644
--- a/AsbCloudApp/Data/WITS/Record8Dto.cs
+++ b/AsbCloudApp/Data/WITS/Record8Dto.cs
@@ -1,733 +1,732 @@
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// Record name: MWD Formation Evaluation
+/// Description: MWD Formation Evaluation data
+/// Description2:
+///
+
+public class Record8Dto : RecordBaseDto
{
+
///
- /// Record name: MWD Formation Evaluation
- /// Description: MWD Formation Evaluation data
- /// Description2:
+ /// RecordId = 8,
+ /// ItemId = 8,
+ /// LongMnemonic = "DEPTMEAS",
+ /// ShortMnemonic = "DMEA",
+ /// Description = "Depth Hole (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
///
- public class Record8Dto : RecordBaseDto
- {
-
- ///
- /// RecordId = 8,
- /// ItemId = 8,
- /// LongMnemonic = "DEPTMEAS",
- /// ShortMnemonic = "DMEA",
- /// Description = "Depth Hole (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptmeas { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 9,
- /// LongMnemonic = "DEPTVERT",
- /// ShortMnemonic = "DVER",
- /// Description = "Depth Hole (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptvert { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 10,
- /// LongMnemonic = "DEPTBITM",
- /// ShortMnemonic = "DBTM",
- /// Description = "Depth Bit (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptbitm { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 11,
- /// LongMnemonic = "DEPTBITV",
- /// ShortMnemonic = "DBTV",
- /// Description = "Depth Bit (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptbitv { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 12,
- /// LongMnemonic = "PASSNUM",
- /// ShortMnemonic = "PASS",
- /// Description = "Pass Number",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Passnum { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 13,
- /// LongMnemonic = "DEPTRS1M",
- /// ShortMnemonic = "DR1M",
- /// Description = "Depth Resis 1 sensor (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptrs1m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 14,
- /// LongMnemonic = "DEPTRS1V",
- /// ShortMnemonic = "DR1V",
- /// Description = "Depth Resis 1 sensor (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptrs1v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 15,
- /// LongMnemonic = "MR1",
- /// ShortMnemonic = "MR1",
- /// Description = "Resis 1 reading",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mr1 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 16,
- /// LongMnemonic = "MR1C",
- /// ShortMnemonic = "MR1C",
- /// Description = "Resis 1 (borehole corr)",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mr1c { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 17,
- /// LongMnemonic = "DEPTRS2M",
- /// ShortMnemonic = "DR2M",
- /// Description = "Depth Resis 2 sensor (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptrs2m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 18,
- /// LongMnemonic = "DEPTRS2V",
- /// ShortMnemonic = "DR2V",
- /// Description = "Depth Resis 2 sensor (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptrs2v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 19,
- /// LongMnemonic = "MR2",
- /// ShortMnemonic = "MR2",
- /// Description = "Resis 2 reading",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mr2 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 20,
- /// LongMnemonic = "MR2C",
- /// ShortMnemonic = "MR2C",
- /// Description = "Resis 2 (borehole corr)",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mr2c { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 21,
- /// LongMnemonic = "DEPTGR1M",
- /// ShortMnemonic = "DG1M",
- /// Description = "Depth G.Ray 1 sensor(meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptgr1m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 22,
- /// LongMnemonic = "DEPTGR1V",
- /// ShortMnemonic = "DG1V",
- /// Description = "Depth G.Ray 1 sensor(vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptgr1v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 23,
- /// LongMnemonic = "MG1",
- /// ShortMnemonic = "MG1",
- /// Description = "Gamma Ray 1 reading",
- /// Description2 = "",
- /// FPSUnits = "API",
- /// MetricUnits = "API",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mg1 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 24,
- /// LongMnemonic = "MG1C",
- /// ShortMnemonic = "MG1C",
- /// Description = "Gamma Ray 1(borehole corr)",
- /// Description2 = "",
- /// FPSUnits = "API",
- /// MetricUnits = "API",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mg1c { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 25,
- /// LongMnemonic = "DEPTGR2M",
- /// ShortMnemonic = "DG2M",
- /// Description = "Depth G.Ray 2 sensor(meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptgr2m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 26,
- /// LongMnemonic = "DEPTGR2V",
- /// ShortMnemonic = "DG2V",
- /// Description = "Depth G.Ray 2 sensor(vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptgr2v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 27,
- /// LongMnemonic = "MG2",
- /// ShortMnemonic = "MG2",
- /// Description = "Gamma Ray 2 reading",
- /// Description2 = "",
- /// FPSUnits = "API",
- /// MetricUnits = "API",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mg2 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 28,
- /// LongMnemonic = "MG2C",
- /// ShortMnemonic = "MG2C",
- /// Description = "Gamma Ray 2(borehole corr)",
- /// Description2 = "",
- /// FPSUnits = "API",
- /// MetricUnits = "API",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mg2c { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 29,
- /// LongMnemonic = "DEPTP1M",
- /// ShortMnemonic = "DP1M",
- /// Description = "Depth Por 1 sensor (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptp1m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 30,
- /// LongMnemonic = "DEPTP1V",
- /// ShortMnemonic = "DP1V",
- /// Description = "Depth Por 1 sensor (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptp1v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 31,
- /// LongMnemonic = "MPO1",
- /// ShortMnemonic = "MPO1",
- /// Description = "Porosity Tool 1 reading",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mpo1 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 32,
- /// LongMnemonic = "DEPTP2M",
- /// ShortMnemonic = "DP2M",
- /// Description = "Depth Por 2 sensor (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptp2m { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 33,
- /// LongMnemonic = "DEPTP2V",
- /// ShortMnemonic = "DP2V",
- /// Description = "Depth Por 2 sensor (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptp2v { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 34,
- /// LongMnemonic = "MPO2",
- /// ShortMnemonic = "MPO2",
- /// Description = "Porosity Tool 2 reading",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mpo2 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 35,
- /// LongMnemonic = "MFTANN",
- /// ShortMnemonic = "MFTA",
- /// Description = "Downhole Fluid Temp (ann)",
- /// Description2 = "",
- /// FPSUnits = "DEGF",
- /// MetricUnits = "DEGC",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mftann { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 36,
- /// LongMnemonic = "MFTPIPE",
- /// ShortMnemonic = "MFTP",
- /// Description = "Downhole Fluid Temp (pipe)",
- /// Description2 = "",
- /// FPSUnits = "DEGF",
- /// MetricUnits = "DEGC",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mftpipe { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 37,
- /// LongMnemonic = "MFRANN",
- /// ShortMnemonic = "MFRA",
- /// Description = "Downhole Fluid Resis (ann)",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfrann { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 38,
- /// LongMnemonic = "MFRPIPE",
- /// ShortMnemonic = "MFRP",
- /// Description = "Downhole Fluid Resis (pipe)",
- /// Description2 = "",
- /// FPSUnits = "OHMM",
- /// MetricUnits = "OHMM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfrpipe { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 39,
- /// LongMnemonic = "DEPTFDM",
- /// ShortMnemonic = "DFDM",
- /// Description = "Depth Form Density (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptfdm { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 40,
- /// LongMnemonic = "DEPTFDV",
- /// ShortMnemonic = "DFDV",
- /// Description = "Depth Form Density (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptfdv { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 41,
- /// LongMnemonic = "MFD",
- /// ShortMnemonic = "MFD",
- /// Description = "Formation Density",
- /// Description2 = "",
- /// FPSUnits = "G/CC",
- /// MetricUnits = "G/CC",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfd { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 42,
- /// LongMnemonic = "DEPTCALM",
- /// ShortMnemonic = "DCLM",
- /// Description = "Depth Caliper (meas)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptcalm { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 43,
- /// LongMnemonic = "DEPTCALV",
- /// ShortMnemonic = "DCLV",
- /// Description = "Depth Caliper (vert)",
- /// Description2 = "",
- /// FPSUnits = "F",
- /// MetricUnits = "M",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Deptcalv { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 44,
- /// LongMnemonic = "MCLP",
- /// ShortMnemonic = "MCLP",
- /// Description = "Caliper",
- /// Description2 = "",
- /// FPSUnits = "IN",
- /// MetricUnits = "MM",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mclp { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 45,
- /// LongMnemonic = "MFPP",
- /// ShortMnemonic = "MFPP",
- /// Description = "Pore Pressure Grad MWD",
- /// Description2 = "",
- /// FPSUnits = "PPG",
- /// MetricUnits = "KGM3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mfpp { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 46,
- /// LongMnemonic = "MFFP",
- /// ShortMnemonic = "MFFP",
- /// Description = "Frac Pressure Grad MWD",
- /// Description2 = "",
- /// FPSUnits = "PPG",
- /// MetricUnits = "KGM3",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Mffp { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 47,
- /// LongMnemonic = "SPARE1",
- /// ShortMnemonic = "SPR1",
- /// Description = "SPARE 1",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare1 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 48,
- /// LongMnemonic = "SPARE2",
- /// ShortMnemonic = "SPR2",
- /// Description = "SPARE 2",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare2 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 49,
- /// LongMnemonic = "SPARE3",
- /// ShortMnemonic = "SPR3",
- /// Description = "SPARE 3",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare3 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 50,
- /// LongMnemonic = "SPARE4",
- /// ShortMnemonic = "SPR4",
- /// Description = "SPARE 4",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare4 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 51,
- /// LongMnemonic = "SPARE5",
- /// ShortMnemonic = "SPR5",
- /// Description = "SPARE 5",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "---",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare5 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 52,
- /// LongMnemonic = "SPARE6",
- /// ShortMnemonic = "SPR6",
- /// Description = "SPARE 6",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare6 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 53,
- /// LongMnemonic = "SPARE7",
- /// ShortMnemonic = "SPR7",
- /// Description = "SPARE 7",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare7 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 54,
- /// LongMnemonic = "SPARE8",
- /// ShortMnemonic = "SPR8",
- /// Description = "SPARE 8",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare8 { get; set; }
-
- ///
- /// RecordId = 8,
- /// ItemId = 55,
- /// LongMnemonic = "SPARE9",
- /// ShortMnemonic = "SPR9",
- /// Description = "SPARE 9",
- /// Description2 = "",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "F"
- ///
-
- public float? Spare9 { get; set; }
-
- }
+ public float? Deptmeas { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 9,
+ /// LongMnemonic = "DEPTVERT",
+ /// ShortMnemonic = "DVER",
+ /// Description = "Depth Hole (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptvert { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 10,
+ /// LongMnemonic = "DEPTBITM",
+ /// ShortMnemonic = "DBTM",
+ /// Description = "Depth Bit (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 11,
+ /// LongMnemonic = "DEPTBITV",
+ /// ShortMnemonic = "DBTV",
+ /// Description = "Depth Bit (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptbitv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 12,
+ /// LongMnemonic = "PASSNUM",
+ /// ShortMnemonic = "PASS",
+ /// Description = "Pass Number",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
+
+ public short? Passnum { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 13,
+ /// LongMnemonic = "DEPTRS1M",
+ /// ShortMnemonic = "DR1M",
+ /// Description = "Depth Resis 1 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 14,
+ /// LongMnemonic = "DEPTRS1V",
+ /// ShortMnemonic = "DR1V",
+ /// Description = "Depth Resis 1 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 15,
+ /// LongMnemonic = "MR1",
+ /// ShortMnemonic = "MR1",
+ /// Description = "Resis 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 16,
+ /// LongMnemonic = "MR1C",
+ /// ShortMnemonic = "MR1C",
+ /// Description = "Resis 1 (borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr1c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 17,
+ /// LongMnemonic = "DEPTRS2M",
+ /// ShortMnemonic = "DR2M",
+ /// Description = "Depth Resis 2 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 18,
+ /// LongMnemonic = "DEPTRS2V",
+ /// ShortMnemonic = "DR2V",
+ /// Description = "Depth Resis 2 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptrs2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 19,
+ /// LongMnemonic = "MR2",
+ /// ShortMnemonic = "MR2",
+ /// Description = "Resis 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 20,
+ /// LongMnemonic = "MR2C",
+ /// ShortMnemonic = "MR2C",
+ /// Description = "Resis 2 (borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mr2c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 21,
+ /// LongMnemonic = "DEPTGR1M",
+ /// ShortMnemonic = "DG1M",
+ /// Description = "Depth G.Ray 1 sensor(meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 22,
+ /// LongMnemonic = "DEPTGR1V",
+ /// ShortMnemonic = "DG1V",
+ /// Description = "Depth G.Ray 1 sensor(vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 23,
+ /// LongMnemonic = "MG1",
+ /// ShortMnemonic = "MG1",
+ /// Description = "Gamma Ray 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 24,
+ /// LongMnemonic = "MG1C",
+ /// ShortMnemonic = "MG1C",
+ /// Description = "Gamma Ray 1(borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg1c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 25,
+ /// LongMnemonic = "DEPTGR2M",
+ /// ShortMnemonic = "DG2M",
+ /// Description = "Depth G.Ray 2 sensor(meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 26,
+ /// LongMnemonic = "DEPTGR2V",
+ /// ShortMnemonic = "DG2V",
+ /// Description = "Depth G.Ray 2 sensor(vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptgr2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 27,
+ /// LongMnemonic = "MG2",
+ /// ShortMnemonic = "MG2",
+ /// Description = "Gamma Ray 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 28,
+ /// LongMnemonic = "MG2C",
+ /// ShortMnemonic = "MG2C",
+ /// Description = "Gamma Ray 2(borehole corr)",
+ /// Description2 = "",
+ /// FPSUnits = "API",
+ /// MetricUnits = "API",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mg2c { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 29,
+ /// LongMnemonic = "DEPTP1M",
+ /// ShortMnemonic = "DP1M",
+ /// Description = "Depth Por 1 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp1m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 30,
+ /// LongMnemonic = "DEPTP1V",
+ /// ShortMnemonic = "DP1V",
+ /// Description = "Depth Por 1 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp1v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 31,
+ /// LongMnemonic = "MPO1",
+ /// ShortMnemonic = "MPO1",
+ /// Description = "Porosity Tool 1 reading",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mpo1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 32,
+ /// LongMnemonic = "DEPTP2M",
+ /// ShortMnemonic = "DP2M",
+ /// Description = "Depth Por 2 sensor (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp2m { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 33,
+ /// LongMnemonic = "DEPTP2V",
+ /// ShortMnemonic = "DP2V",
+ /// Description = "Depth Por 2 sensor (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptp2v { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 34,
+ /// LongMnemonic = "MPO2",
+ /// ShortMnemonic = "MPO2",
+ /// Description = "Porosity Tool 2 reading",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mpo2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 35,
+ /// LongMnemonic = "MFTANN",
+ /// ShortMnemonic = "MFTA",
+ /// Description = "Downhole Fluid Temp (ann)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mftann { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 36,
+ /// LongMnemonic = "MFTPIPE",
+ /// ShortMnemonic = "MFTP",
+ /// Description = "Downhole Fluid Temp (pipe)",
+ /// Description2 = "",
+ /// FPSUnits = "DEGF",
+ /// MetricUnits = "DEGC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mftpipe { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 37,
+ /// LongMnemonic = "MFRANN",
+ /// ShortMnemonic = "MFRA",
+ /// Description = "Downhole Fluid Resis (ann)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfrann { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 38,
+ /// LongMnemonic = "MFRPIPE",
+ /// ShortMnemonic = "MFRP",
+ /// Description = "Downhole Fluid Resis (pipe)",
+ /// Description2 = "",
+ /// FPSUnits = "OHMM",
+ /// MetricUnits = "OHMM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfrpipe { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 39,
+ /// LongMnemonic = "DEPTFDM",
+ /// ShortMnemonic = "DFDM",
+ /// Description = "Depth Form Density (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptfdm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 40,
+ /// LongMnemonic = "DEPTFDV",
+ /// ShortMnemonic = "DFDV",
+ /// Description = "Depth Form Density (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptfdv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 41,
+ /// LongMnemonic = "MFD",
+ /// ShortMnemonic = "MFD",
+ /// Description = "Formation Density",
+ /// Description2 = "",
+ /// FPSUnits = "G/CC",
+ /// MetricUnits = "G/CC",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfd { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 42,
+ /// LongMnemonic = "DEPTCALM",
+ /// ShortMnemonic = "DCLM",
+ /// Description = "Depth Caliper (meas)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptcalm { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 43,
+ /// LongMnemonic = "DEPTCALV",
+ /// ShortMnemonic = "DCLV",
+ /// Description = "Depth Caliper (vert)",
+ /// Description2 = "",
+ /// FPSUnits = "F",
+ /// MetricUnits = "M",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Deptcalv { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 44,
+ /// LongMnemonic = "MCLP",
+ /// ShortMnemonic = "MCLP",
+ /// Description = "Caliper",
+ /// Description2 = "",
+ /// FPSUnits = "IN",
+ /// MetricUnits = "MM",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mclp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 45,
+ /// LongMnemonic = "MFPP",
+ /// ShortMnemonic = "MFPP",
+ /// Description = "Pore Pressure Grad MWD",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mfpp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 46,
+ /// LongMnemonic = "MFFP",
+ /// ShortMnemonic = "MFFP",
+ /// Description = "Frac Pressure Grad MWD",
+ /// Description2 = "",
+ /// FPSUnits = "PPG",
+ /// MetricUnits = "KGM3",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Mffp { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 47,
+ /// LongMnemonic = "SPARE1",
+ /// ShortMnemonic = "SPR1",
+ /// Description = "SPARE 1",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare1 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 48,
+ /// LongMnemonic = "SPARE2",
+ /// ShortMnemonic = "SPR2",
+ /// Description = "SPARE 2",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare2 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 49,
+ /// LongMnemonic = "SPARE3",
+ /// ShortMnemonic = "SPR3",
+ /// Description = "SPARE 3",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare3 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 50,
+ /// LongMnemonic = "SPARE4",
+ /// ShortMnemonic = "SPR4",
+ /// Description = "SPARE 4",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare4 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 51,
+ /// LongMnemonic = "SPARE5",
+ /// ShortMnemonic = "SPR5",
+ /// Description = "SPARE 5",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "---",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare5 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 52,
+ /// LongMnemonic = "SPARE6",
+ /// ShortMnemonic = "SPR6",
+ /// Description = "SPARE 6",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare6 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 53,
+ /// LongMnemonic = "SPARE7",
+ /// ShortMnemonic = "SPR7",
+ /// Description = "SPARE 7",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare7 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 54,
+ /// LongMnemonic = "SPARE8",
+ /// ShortMnemonic = "SPR8",
+ /// Description = "SPARE 8",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare8 { get; set; }
+
+ ///
+ /// RecordId = 8,
+ /// ItemId = 55,
+ /// LongMnemonic = "SPARE9",
+ /// ShortMnemonic = "SPR9",
+ /// Description = "SPARE 9",
+ /// Description2 = "",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "F"
+ ///
+
+ public float? Spare9 { get; set; }
+
}
diff --git a/AsbCloudApp/Data/WITS/RecordBaseDto.cs b/AsbCloudApp/Data/WITS/RecordBaseDto.cs
index 8c874136..4c3f7261 100644
--- a/AsbCloudApp/Data/WITS/RecordBaseDto.cs
+++ b/AsbCloudApp/Data/WITS/RecordBaseDto.cs
@@ -1,133 +1,132 @@
using System;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.WITS
+namespace AsbCloudApp.Data.WITS;
+
+///
+/// This is base class for all WITS-0 records
+///
+public abstract class RecordBaseDto : IId, ITelemetryData
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
+ ///
+ public int IdTelemetry { get; set; }
+
+ ///
+ [Required]
+ public DateTime DateTime { get; set; }
+
///
- /// This is base class for all WITS-0 records
+ /// отметка времени
///
- public abstract class RecordBaseDto : IId, ITelemetryData
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ public int TimeStamp { get; set; }
- ///
- public int IdTelemetry { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 1,
+ /// LongMnemonic = "WELLID",
+ /// ShortMnemonic = "WID",
+ /// Description = "Well Identifier",
+ /// Description2 = "Number/name assigned to the well by the operator for identification purposes. This item is common to all records. This includes a four-character code identifying the SENDER.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 16,
+ /// ValueType = "A"
+ ///
+ [Required]
+ public string Wellid { get; set; } = string.Empty;
- ///
- [Required]
- public DateTime DateTime { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 2,
+ /// LongMnemonic = "STKNUM",
+ /// ShortMnemonic = "SKNO",
+ /// Description = "Sidetrack/Hole Sect No.",
+ /// Description2 = "Measured depth of the hole at the time the record is generated.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
- ///
- /// отметка времени
- ///
- [Required]
- public int TimeStamp { get; set; }
+ public short? Stknum { get; set; }
- ///
- /// RecordId = 1,
- /// ItemId = 1,
- /// LongMnemonic = "WELLID",
- /// ShortMnemonic = "WID",
- /// Description = "Well Identifier",
- /// Description2 = "Number/name assigned to the well by the operator for identification purposes. This item is common to all records. This includes a four-character code identifying the SENDER.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 16,
- /// ValueType = "A"
- ///
- [Required]
- public string Wellid { get; set; } = string.Empty;
+ ///
+ /// RecordId = 1,
+ /// ItemId = 3,
+ /// LongMnemonic = "RECID",
+ /// ShortMnemonic = "RID",
+ /// Description = "Record Identifier",
+ /// Description2 = "Number of the sidetrack being drilled at the time the computer generated the record. Prior to having a sidetrack, this number is always 0. The sidetrack number indexes at the time drilling new formation commences (not while drilling the cement plug). This item is common to all records.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
- ///
- /// RecordId = 1,
- /// ItemId = 2,
- /// LongMnemonic = "STKNUM",
- /// ShortMnemonic = "SKNO",
- /// Description = "Sidetrack/Hole Sect No.",
- /// Description2 = "Measured depth of the hole at the time the record is generated.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
+ public short? Recid { get; set; }
- public short? Stknum { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 4,
+ /// LongMnemonic = "SEQID",
+ /// ShortMnemonic = "SQID",
+ /// Description = "Sequence Identifier",
+ /// Description2 = "Logical data record type identifier. This item is common to all records and, for current Pre-Defined Records, contains a value between 1 and 25, according to the record type. Types 26 through 49 inclusive are reserved for future expansion of the Pre-Defined records. Types 50 through 80 inclusive are open for Custom user definition. NOTE that the Logical Record Type for a record is this number plus 150, thus WITS Record 1 is Logical Record Type 151, WITS Record 2 is Logical Record Type 152, etc.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
- ///
- /// RecordId = 1,
- /// ItemId = 3,
- /// LongMnemonic = "RECID",
- /// ShortMnemonic = "RID",
- /// Description = "Record Identifier",
- /// Description2 = "Number of the sidetrack being drilled at the time the computer generated the record. Prior to having a sidetrack, this number is always 0. The sidetrack number indexes at the time drilling new formation commences (not while drilling the cement plug). This item is common to all records.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
+ public int? Seqid { get; set; }
- public short? Recid { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 5,
+ /// LongMnemonic = "DATE",
+ /// ShortMnemonic = "DATE",
+ /// Description = "Date",
+ /// Description2 = "Indicates the number of times this record has been generated (it is not reset to zero for a sidetrack). The computer should automatically increase the number by one each time it creates a new record. This item is common to all records. The sequence identifier in each individual record type keeps track of the count for that particular record only. Thus there is a sequence identifier for each record type used.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
- ///
- /// RecordId = 1,
- /// ItemId = 4,
- /// LongMnemonic = "SEQID",
- /// ShortMnemonic = "SQID",
- /// Description = "Sequence Identifier",
- /// Description2 = "Logical data record type identifier. This item is common to all records and, for current Pre-Defined Records, contains a value between 1 and 25, according to the record type. Types 26 through 49 inclusive are reserved for future expansion of the Pre-Defined records. Types 50 through 80 inclusive are open for Custom user definition. NOTE that the Logical Record Type for a record is this number plus 150, thus WITS Record 1 is Logical Record Type 151, WITS Record 2 is Logical Record Type 152, etc.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "L"
- ///
+ public int? Date_ { get; set; }
- public int? Seqid { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 6,
+ /// LongMnemonic = "TIME",
+ /// ShortMnemonic = "TIME",
+ /// Description = "Time",
+ /// Description2 = "Indicates the date the computer generated this record. The date is reported as a 6 digit integer in a YYMMDD type format. e.g. 910404 would represent April 4, 1991. It is common to all records. Note that, like Time below, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference. Note also that though this number should never decrease, there is no guarantee of this fact.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 4,
+ /// ValueType = "L"
+ ///
- ///
- /// RecordId = 1,
- /// ItemId = 5,
- /// LongMnemonic = "DATE",
- /// ShortMnemonic = "DATE",
- /// Description = "Date",
- /// Description2 = "Indicates the number of times this record has been generated (it is not reset to zero for a sidetrack). The computer should automatically increase the number by one each time it creates a new record. This item is common to all records. The sequence identifier in each individual record type keeps track of the count for that particular record only. Thus there is a sequence identifier for each record type used.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "L"
- ///
+ public int? Time { get; set; }
- public int? Date_ { get; set; }
+ ///
+ /// RecordId = 1,
+ /// ItemId = 7,
+ /// LongMnemonic = "ACTCOD",
+ /// ShortMnemonic = "ACTC",
+ /// Description = "Activity Code",
+ /// Description2 = "Indicates the time of day (24 hour clock), when the computer generated the record, eg. 225015 would represent 10:50:15 pm. This item is common to all records. Note that, like Date above, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference.",
+ /// FPSUnits = "----",
+ /// MetricUnits = "----",
+ /// Length = 2,
+ /// ValueType = "S"
+ ///
- ///
- /// RecordId = 1,
- /// ItemId = 6,
- /// LongMnemonic = "TIME",
- /// ShortMnemonic = "TIME",
- /// Description = "Time",
- /// Description2 = "Indicates the date the computer generated this record. The date is reported as a 6 digit integer in a YYMMDD type format. e.g. 910404 would represent April 4, 1991. It is common to all records. Note that, like Time below, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference. Note also that though this number should never decrease, there is no guarantee of this fact.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 4,
- /// ValueType = "L"
- ///
-
- public int? Time { get; set; }
-
- ///
- /// RecordId = 1,
- /// ItemId = 7,
- /// LongMnemonic = "ACTCOD",
- /// ShortMnemonic = "ACTC",
- /// Description = "Activity Code",
- /// Description2 = "Indicates the time of day (24 hour clock), when the computer generated the record, eg. 225015 would represent 10:50:15 pm. This item is common to all records. Note that, like Date above, Universal Coordinated Time (Greenwich Mean Time) is used as the common reference.",
- /// FPSUnits = "----",
- /// MetricUnits = "----",
- /// Length = 2,
- /// ValueType = "S"
- ///
-
- public short? Actcod { get; set; }
- }
+ public short? Actcod { get; set; }
}
diff --git a/AsbCloudApp/Data/WellCaseDto.cs b/AsbCloudApp/Data/WellCaseDto.cs
index b3a50693..4984f88d 100644
--- a/AsbCloudApp/Data/WellCaseDto.cs
+++ b/AsbCloudApp/Data/WellCaseDto.cs
@@ -2,30 +2,28 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Дела скважины
+///
+public class WellCaseDto
{
///
- /// Дела скважины
+ /// Скважина
///
- public class WellCaseDto
- {
- ///
- /// Скважина
- ///
- [Required]
- public int IdWell { get; set; }
+ [Required]
+ public int IdWell { get; set; }
- ///
- /// Разрешение для текущего пользователя добавлять ответственных
- ///
- [Required]
- public bool PermissionToSetPubliher { get; set; } = true;
-
- ///
- /// Документ дела скважины
- ///
- [Required]
- public IEnumerable WellFinalDocuments { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Разрешение для текущего пользователя добавлять ответственных
+ ///
+ [Required]
+ public bool PermissionToSetPubliher { get; set; } = true;
+ ///
+ /// Документ дела скважины
+ ///
+ [Required]
+ public IEnumerable WellFinalDocuments { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/WellCompositeDto.cs b/AsbCloudApp/Data/WellCompositeDto.cs
index af9a91a8..f2516cf0 100644
--- a/AsbCloudApp/Data/WellCompositeDto.cs
+++ b/AsbCloudApp/Data/WellCompositeDto.cs
@@ -1,26 +1,25 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO элемент композитной скважины
+///
+public class WellCompositeDto : IWellRelated
{
+ ///
+ [Required]
+ public int IdWell { get; set; }
+
///
- /// DTO элемент композитной скважины
+ /// id скважины входящей в композитную для этой
///
- public class WellCompositeDto : IWellRelated
- {
- ///
- [Required]
- public int IdWell { get; set; }
+ [Required]
+ public int IdWellSrc { get; set; }
- ///
- /// id скважины входящей в композитную для этой
- ///
- [Required]
- public int IdWellSrc { get; set; }
-
- ///
- /// id секции скважины входящей в композитную для этой
- ///
- [Required]
- public int IdWellSectionType { get; set; }
- }
+ ///
+ /// id секции скважины входящей в композитную для этой
+ ///
+ [Required]
+ public int IdWellSectionType { get; set; }
}
diff --git a/AsbCloudApp/Data/WellCompositeOperationDto.cs b/AsbCloudApp/Data/WellCompositeOperationDto.cs
index 97c1ff90..f6f47143 100644
--- a/AsbCloudApp/Data/WellCompositeOperationDto.cs
+++ b/AsbCloudApp/Data/WellCompositeOperationDto.cs
@@ -5,22 +5,21 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Хранение операций по композитной скважине
+/// и по скважинам, на основе которых была рассчитана композитная скважина
+///
+public class WellCompositeOperationDto
{
///
- /// Хранение операций по композитной скважине
- /// и по скважинам, на основе которых была рассчитана композитная скважина
+ /// Список операций композитной скважины
///
- public class WellCompositeOperationDto
- {
- ///
- /// Список операций композитной скважины
- ///
- public IEnumerable WellOperationsComposite { get; set; } = null!;
+ public IEnumerable WellOperationsComposite { get; set; } = null!;
- ///
- /// Список операций, на основе которых были рассчитаны операции по композитной скважине
- ///
- public IEnumerable WellCompositeSourceOperations { get; set; } = null!;
- }
+ ///
+ /// Список операций, на основе которых были рассчитаны операции по композитной скважине
+ ///
+ public IEnumerable WellCompositeSourceOperations { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/WellCompositeOperationSourceDto.cs b/AsbCloudApp/Data/WellCompositeOperationSourceDto.cs
index e991dd3f..18c54646 100644
--- a/AsbCloudApp/Data/WellCompositeOperationSourceDto.cs
+++ b/AsbCloudApp/Data/WellCompositeOperationSourceDto.cs
@@ -1,21 +1,20 @@
using AsbCloudApp.Data.WellOperation;
using System.Collections.Generic;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Операции по скважине, по которой рассчитывается композитная скважина
+///
+public class WellCompositeOperationSourceDto
{
///
- /// Операции по скважине, по которой рассчитывается композитная скважина
+ /// Скважина
///
- public class WellCompositeOperationSourceDto
- {
- ///
- /// Скважина
- ///
- public WellDto Well { get; set; } = null!;
+ public WellDto Well { get; set; } = null!;
- ///
- /// Операции по скважине
- ///
- public IEnumerable Operations { get; set; } = null!;
- }
+ ///
+ /// Операции по скважине
+ ///
+ public IEnumerable Operations { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/WellDto.cs b/AsbCloudApp/Data/WellDto.cs
index 223aad41..a158c5a8 100644
--- a/AsbCloudApp/Data/WellDto.cs
+++ b/AsbCloudApp/Data/WellDto.cs
@@ -3,90 +3,89 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// базовая информация о скважине
+///
+public class WellWithTimezoneDto : WellInfoDto
{
- ///
- /// базовая информация о скважине
- ///
- public class WellWithTimezoneDto : WellInfoDto
- {
- ///
- [Required]
- public SimpleTimezoneDto Timezone { get; set; } = null!;
-
- ///
- /// 0 - неизвестно,
- /// 1 - в работе,
- /// 2 - завершена
- ///
- [Required]
- public int IdState { get; set; }
- }
+ ///
+ [Required]
+ public SimpleTimezoneDto Timezone { get; set; } = null!;
///
- /// Скважина
+ /// 0 - неизвестно,
+ /// 1 - в работе,
+ /// 2 - завершена
///
- public class WellDto : WellInfoDto, IMapPoint, IId
- {
- ///
- [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
- public double? Latitude { get; set; }
-
- ///
- [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
- public double? Longitude { get; set; }
-
- ///
- [Required]
- public SimpleTimezoneDto Timezone { get; set; } = null!;
-
- ///
- /// Название типа скважины
- ///
- public string? WellType { get; set; }
-
- ///
- /// ID типа скважины
- ///
- [Range(1, 2, ErrorMessage = "Тип скважины указан неправильно.")]
- public int IdWellType { get; set; }
-
- ///
- /// ID куста
- ///
- public int IdCluster { get; set; }
-
- ///
- /// 0 - неизвестно,
- /// 1 - в работе,
- /// 2 - завершена
- ///
- [Range(0, 2, ErrorMessage = "Текущее состояние работы скважины указано неправильно.")]
- public int IdState { get; set; }
-
- ///
- /// Дата/время первой операции
- ///
- public DateTimeOffset? StartDate { get; set; }
-
- ///
- /// Дата/время кода приходили данные последний раз
- ///
- public DateTimeOffset LastTelemetryDate { get; set; }
-
- ///
- /// ID телеметрии
- ///
- public int? IdTelemetry { get; set; }
-
- ///
- /// Объект телеметрии (инфо от панели оператора)
- ///
- public TelemetryBaseDto? Telemetry { get; set; }
-
- ///
- /// Компании участвующие в работах на скважине
- ///
- public IEnumerable Companies { get; set; } = Enumerable.Empty();
- }
+ [Required]
+ public int IdState { get; set; }
+}
+
+///
+/// Скважина
+///
+public class WellDto : WellInfoDto, IMapPoint, IId
+{
+ ///
+ [Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
+ public double? Latitude { get; set; }
+
+ ///
+ [Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
+ public double? Longitude { get; set; }
+
+ ///
+ [Required]
+ public SimpleTimezoneDto Timezone { get; set; } = null!;
+
+ ///
+ /// Название типа скважины
+ ///
+ public string? WellType { get; set; }
+
+ ///
+ /// ID типа скважины
+ ///
+ [Range(1, 2, ErrorMessage = "Тип скважины указан неправильно.")]
+ public int IdWellType { get; set; }
+
+ ///
+ /// ID куста
+ ///
+ public int IdCluster { get; set; }
+
+ ///
+ /// 0 - неизвестно,
+ /// 1 - в работе,
+ /// 2 - завершена
+ ///
+ [Range(0, 2, ErrorMessage = "Текущее состояние работы скважины указано неправильно.")]
+ public int IdState { get; set; }
+
+ ///
+ /// Дата/время первой операции
+ ///
+ public DateTimeOffset? StartDate { get; set; }
+
+ ///
+ /// Дата/время кода приходили данные последний раз
+ ///
+ public DateTimeOffset LastTelemetryDate { get; set; }
+
+ ///
+ /// ID телеметрии
+ ///
+ public int? IdTelemetry { get; set; }
+
+ ///
+ /// Объект телеметрии (инфо от панели оператора)
+ ///
+ public TelemetryBaseDto? Telemetry { get; set; }
+
+ ///
+ /// Компании участвующие в работах на скважине
+ ///
+ public IEnumerable Companies { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/WellFinalDocumentDBDto.cs b/AsbCloudApp/Data/WellFinalDocumentDBDto.cs
index d69c793e..eae27862 100644
--- a/AsbCloudApp/Data/WellFinalDocumentDBDto.cs
+++ b/AsbCloudApp/Data/WellFinalDocumentDBDto.cs
@@ -1,23 +1,22 @@
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO Дело скважины
+///
+public class WellFinalDocumentDBDto
{
///
- /// DTO Дело скважины
+ /// Идентификатор скважины
///
- public class WellFinalDocumentDBDto
- {
- ///
- /// Идентификатор скважины
- ///
- public int IdWell { get; set; }
+ public int IdWell { get; set; }
- ///
- /// Идентификатор ответственного
- ///
- public int IdUser { get; set; }
+ ///
+ /// Идентификатор ответственного
+ ///
+ public int IdUser { get; set; }
- ///
- /// Идентификатор категории файла
- ///
- public int IdCategory { get; set; }
- }
+ ///
+ /// Идентификатор категории файла
+ ///
+ public int IdCategory { get; set; }
}
diff --git a/AsbCloudApp/Data/WellFinalDocumentDto.cs b/AsbCloudApp/Data/WellFinalDocumentDto.cs
index 7fe90b6a..f507bbf0 100644
--- a/AsbCloudApp/Data/WellFinalDocumentDto.cs
+++ b/AsbCloudApp/Data/WellFinalDocumentDto.cs
@@ -3,45 +3,44 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.User;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO Документ дела скважины
+///
+public class WellFinalDocumentDto
{
///
- /// DTO Документ дела скважины
+ /// Идентификатор категории файла
///
- public class WellFinalDocumentDto
- {
- ///
- /// Идентификатор категории файла
- ///
- [Required]
- public int IdCategory { get; set; }
+ [Required]
+ public int IdCategory { get; set; }
- ///
- /// Наименование категории файла
- ///
- public string NameCategory { get; set; } = string.Empty;
+ ///
+ /// Наименование категории файла
+ ///
+ public string NameCategory { get; set; } = string.Empty;
- ///
- /// Разрешение для текущего пользователя загружать документ
- ///
- [Required]
- public bool PermissionToUpload { get; set; } = false;
+ ///
+ /// Разрешение для текущего пользователя загружать документ
+ ///
+ [Required]
+ public bool PermissionToUpload { get; set; } = false;
- ///
- /// Список ответственных
- ///
- [Required]
- public IEnumerable Publishers { get; set; } = Enumerable.Empty();
+ ///
+ /// Список ответственных
+ ///
+ [Required]
+ public IEnumerable Publishers { get; set; } = Enumerable.Empty();
- ///
- /// Количество файлов этой категории загруженных ранее
- ///
- [Required]
- public int FilesCount { get; set; }
+ ///
+ /// Количество файлов этой категории загруженных ранее
+ ///
+ [Required]
+ public int FilesCount { get; set; }
- ///
- /// Актуальный файл
- ///
- public FileInfoDto? File { get; set; }
- }
+ ///
+ /// Актуальный файл
+ ///
+ public FileInfoDto? File { get; set; }
}
diff --git a/AsbCloudApp/Data/WellFinalDocumentInputDto.cs b/AsbCloudApp/Data/WellFinalDocumentInputDto.cs
index 82e2072d..1da39906 100644
--- a/AsbCloudApp/Data/WellFinalDocumentInputDto.cs
+++ b/AsbCloudApp/Data/WellFinalDocumentInputDto.cs
@@ -2,23 +2,22 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO Для сохранения категорий дела скважины
+///
+public class WellFinalDocumentInputDto
{
///
- /// DTO Для сохранения категорий дела скважины
+ /// Идентификатор категории файла
///
- public class WellFinalDocumentInputDto
- {
- ///
- /// Идентификатор категории файла
- ///
- [Required]
- public int IdCategory { get; set; }
+ [Required]
+ public int IdCategory { get; set; }
- ///
- /// Список ответственных
- ///
- [Required]
- public IEnumerable IdsPublishers { get; set; } = Enumerable.Empty();
- }
+ ///
+ /// Список ответственных
+ ///
+ [Required]
+ public IEnumerable IdsPublishers { get; set; } = Enumerable.Empty();
}
diff --git a/AsbCloudApp/Data/WellFinalDocumentsHistoryDto.cs b/AsbCloudApp/Data/WellFinalDocumentsHistoryDto.cs
index b69bb415..0e2239a3 100644
--- a/AsbCloudApp/Data/WellFinalDocumentsHistoryDto.cs
+++ b/AsbCloudApp/Data/WellFinalDocumentsHistoryDto.cs
@@ -1,29 +1,28 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// DTO Дело скважины, история файлов
+///
+public class WellFinalDocumentsHistoryDto
{
///
- /// DTO Дело скважины, история файлов
+ /// Вышка
///
- public class WellFinalDocumentsHistoryDto
- {
- ///
- /// Вышка
- ///
- [Required]
- public int IdWell { get; set; }
+ [Required]
+ public int IdWell { get; set; }
- ///
- /// Наименование категории файла
- ///
- [Required]
- public int IdCategory { get; set; }
+ ///
+ /// Наименование категории файла
+ ///
+ [Required]
+ public int IdCategory { get; set; }
- ///
- /// Файлы
- ///
- [Required]
- public IEnumerable Files { get; set; } = null!;
- }
+ ///
+ /// Файлы
+ ///
+ [Required]
+ public IEnumerable Files { get; set; } = null!;
}
diff --git a/AsbCloudApp/Data/WellInfoDto.cs b/AsbCloudApp/Data/WellInfoDto.cs
index 58ce537d..3d85ad48 100644
--- a/AsbCloudApp/Data/WellInfoDto.cs
+++ b/AsbCloudApp/Data/WellInfoDto.cs
@@ -1,29 +1,28 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// базовая информация о скважине
+///
+public class WellInfoDto: IId
{
+ ///
+ public int Id { get; set; }
+
///
- /// базовая информация о скважине
+ /// Название
///
- public class WellInfoDto: IId
- {
- ///
- public int Id { get; set; }
+ [Required]
+ public string Caption { get; set; } = null!;
- ///
- /// Название
- ///
- [Required]
- public string Caption { get; set; } = null!;
+ ///
+ /// Название куста
+ ///
+ public string? Cluster { get; set; }
- ///
- /// Название куста
- ///
- public string? Cluster { get; set; }
-
- ///
- /// Название месторождения
- ///
- public string? Deposit { get; set; }
- }
+ ///
+ /// Название месторождения
+ ///
+ public string? Deposit { get; set; }
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellMapInfoDto.cs b/AsbCloudApp/Data/WellMapInfoDto.cs
index 2b49ad3f..49e3d57f 100644
--- a/AsbCloudApp/Data/WellMapInfoDto.cs
+++ b/AsbCloudApp/Data/WellMapInfoDto.cs
@@ -3,142 +3,141 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace AsbCloudApp.Data
+namespace AsbCloudApp.Data;
+
+///
+/// Инфо о скважине для отображения на карте последними данными телеметрии
+///
+public class WellMapInfoWithTelemetryStat : WellMapInfoDto
{
///
- /// Инфо о скважине для отображения на карте последними данными телеметрии
+ /// Последние полученные данные от АПД
///
- public class WellMapInfoWithTelemetryStat : WellMapInfoDto
- {
- ///
- /// Последние полученные данные от АПД
- ///
- public TelemetryDataSaubDto? LastDataSaub { get; set; }
-
- ///
- /// Последние полученные данные от Осцилляции
- ///
- public TelemetryDataSpinDto? LastDataSpin { get; set; }
-
- ///
- /// Дата полседнего получения данных от ННБ
- ///
- public DateTime? LastDataDdsDate { get; set; }
-
- ///
- /// Дата полседнего получения данных от ГТИ
- ///
- public DateTime? LastDataGtrDate { get; set; }
-
- ///
- /// Дата полседнего получения данных от СКПБ
- ///
- public DateTime? LastDataDpcsDate { get; set; }
-
- ///
- /// Дата полседнего получения данных от станции контроля параметров цементирования (СКЦ)
- ///
- public DateTime? LastDataCpmsDate { get; set; }
-
- ///
- /// Компании
- ///
- public IEnumerable Companies { get; set; } = Enumerable.Empty();
- }
+ public TelemetryDataSaubDto? LastDataSaub { get; set; }
///
- /// Инфо о скважине для отображения на карте
+ /// Последние полученные данные от Осцилляции
///
- public class WellMapInfoDto: MapPointBaseDto
- {
- ///
- /// 0 - неизвестно,
- /// 1 - в работе,
- /// 2 - завершена
- ///
- public int IdState { get; set; }
-
- ///
- /// Название текущей секции
- ///
- public string? Section { get; set; }
+ public TelemetryDataSpinDto? LastDataSpin { get; set; }
- ///
- /// Коэф-т использования автоподачи долота (суммарный ротор + слайд)
- ///
- public double SaubUsage { get; set; }
+ ///
+ /// Дата полседнего получения данных от ННБ
+ ///
+ public DateTime? LastDataDdsDate { get; set; }
- ///
- /// Коэф-т использования осциллятора
- ///
- public double SpinUsage { get; set; }
+ ///
+ /// Дата полседнего получения данных от ГТИ
+ ///
+ public DateTime? LastDataGtrDate { get; set; }
- ///
- /// Коэф-т использования демпфера
- ///
- public double TorqueKUsage { get; set; }
+ ///
+ /// Дата полседнего получения данных от СКПБ
+ ///
+ public DateTime? LastDataDpcsDate { get; set; }
- ///
- /// Дата начала первой фактической операции
- /// Используется как дата начала бурения
- ///
- public DateTimeOffset? FirstFactOperationDateStart { get; set; }
+ ///
+ /// Дата полседнего получения данных от станции контроля параметров цементирования (СКЦ)
+ ///
+ public DateTime? LastDataCpmsDate { get; set; }
- ///
- /// Дата окончания последней прогнозируемой операции
- /// Если скважина завершена, то дата окончания последней фактической операции
- /// Используется как прогноз окончания бурения
- ///
- public DateTimeOffset? LastPredictOperationDateEnd { get; set; }
-
- ///
- /// Рейсовая скорость проходки, последнего рейса
- ///
- public PlanFactDto RaceSpeed { get; set; } = null!;
-
- ///
- /// Механическая скорость проходки, последней операции бурения
- ///
- public PlanFactDto ROP { get; set; } = null!;
-
- ///
- /// Нагрузка на долота, Т
- ///
- public PlanFactDto AxialLoad { get; set; } = null!;
-
- ///
- /// Обороты ротора
- ///
- public PlanFactDto TopDriveSpeed { get; set; } = null!;
-
- ///
- /// Момент ротора кн/м
- ///
- public PlanFactDto TopDriveTorque { get; set; } = null!;
-
- ///
- /// Перепад давления
- ///
- public PlanFactDto Pressure { get; set; } = null!;
-
- ///
- /// Действующее задание давления, атм
- ///
- public double? PressureSp { get; set; }
-
- ///
- /// Плановая и текущая глубина
- ///
- public PlanFactDto WellDepth { get; set; } = null!;
-
- ///
- /// Отставание от ГГД, дни
- ///
- public double? TvdLagDays { get; set; }
-
- ///
- /// Кол-во дней бурения по ГГД
- ///
- public double? TvdDrillingDays { get; set; }
- }
+ ///
+ /// Компании
+ ///
+ public IEnumerable Companies { get; set; } = Enumerable.Empty();
+}
+
+///
+/// Инфо о скважине для отображения на карте
+///
+public class WellMapInfoDto: MapPointBaseDto
+{
+ ///
+ /// 0 - неизвестно,
+ /// 1 - в работе,
+ /// 2 - завершена
+ ///
+ public int IdState { get; set; }
+
+ ///
+ /// Название текущей секции
+ ///
+ public string? Section { get; set; }
+
+ ///
+ /// Коэф-т использования автоподачи долота (суммарный ротор + слайд)
+ ///
+ public double SaubUsage { get; set; }
+
+ ///
+ /// Коэф-т использования осциллятора
+ ///
+ public double SpinUsage { get; set; }
+
+ ///
+ /// Коэф-т использования демпфера
+ ///
+ public double TorqueKUsage { get; set; }
+
+ ///
+ /// Дата начала первой фактической операции
+ /// Используется как дата начала бурения
+ ///
+ public DateTimeOffset? FirstFactOperationDateStart { get; set; }
+
+ ///
+ /// Дата окончания последней прогнозируемой операции
+ /// Если скважина завершена, то дата окончания последней фактической операции
+ /// Используется как прогноз окончания бурения
+ ///
+ public DateTimeOffset? LastPredictOperationDateEnd { get; set; }
+
+ ///
+ /// Рейсовая скорость проходки, последнего рейса
+ ///
+ public PlanFactDto RaceSpeed { get; set; } = null!;
+
+ ///
+ /// Механическая скорость проходки, последней операции бурения
+ ///
+ public PlanFactDto ROP { get; set; } = null!;
+
+ ///
+ /// Нагрузка на долота, Т
+ ///
+ public PlanFactDto AxialLoad { get; set; } = null!;
+
+ ///
+ /// Обороты ротора
+ ///
+ public PlanFactDto TopDriveSpeed { get; set; } = null!;
+
+ ///
+ /// Момент ротора кн/м
+ ///
+ public PlanFactDto TopDriveTorque { get; set; } = null!;
+
+ ///
+ /// Перепад давления
+ ///
+ public PlanFactDto Pressure { get; set; } = null!;
+
+ ///
+ /// Действующее задание давления, атм
+ ///
+ public double? PressureSp { get; set; }
+
+ ///
+ /// Плановая и текущая глубина
+ ///
+ public PlanFactDto WellDepth { get; set; } = null!;
+
+ ///
+ /// Отставание от ГГД, дни
+ ///
+ public double? TvdLagDays { get; set; }
+
+ ///
+ /// Кол-во дней бурения по ГГД
+ ///
+ public double? TvdDrillingDays { get; set; }
}
diff --git a/AsbCloudApp/Data/WellOperation/WellOperationCategoryDto.cs b/AsbCloudApp/Data/WellOperation/WellOperationCategoryDto.cs
index 46e7dbe5..176d8596 100644
--- a/AsbCloudApp/Data/WellOperation/WellOperationCategoryDto.cs
+++ b/AsbCloudApp/Data/WellOperation/WellOperationCategoryDto.cs
@@ -1,38 +1,37 @@
using System.ComponentModel.DataAnnotations;
-namespace AsbCloudApp.Data.WellOperation
+namespace AsbCloudApp.Data.WellOperation;
+
+///
+/// DTO категория операции
+///
+public class WellOperationCategoryDto : IId
{
+ ///
+ [Required]
+ public int Id { get; set; }
+
///
- /// DTO категория операции
+ /// название
///
- public class WellOperationCategoryDto : IId
- {
- ///
- [Required]
- public int Id { get; set; }
+ [Required]
+ [StringLength(512)]
+ public string Name { get; set; } = null!;
- ///
- /// название
- ///
- [Required]
- [StringLength(512)]
- public string Name { get; set; } = null!;
+ ///
+ /// Идентификатор родительской категории
+ ///
+ public int? IdParent { get; set; }
- ///
- /// Идентификатор родительской категории
- ///
- public int? IdParent { get; set; }
+ ///
+ /// Название ключевого показателя операции
+ ///
+ [StringLength(32)]
+ public string? KeyValueName { get; set; }
- ///
- /// Название ключевого показателя операции
- ///
- [StringLength(32)]
- public string? KeyValueName { get; set; }
-
- ///
- /// Единицы измерения ключевого показателя операции
- ///
- [StringLength(16)]
- public string? KeyValueUnits { get; set; }
- }
+ ///
+ /// Единицы измерения ключевого показателя операции
+ ///
+ [StringLength(16)]
+ public string? KeyValueUnits { get; set; }
}
diff --git a/AsbCloudApp/Exceptions/ArgumentInvalidException.cs b/AsbCloudApp/Exceptions/ArgumentInvalidException.cs
index 93c37fa7..d0f3a316 100644
--- a/AsbCloudApp/Exceptions/ArgumentInvalidException.cs
+++ b/AsbCloudApp/Exceptions/ArgumentInvalidException.cs
@@ -2,41 +2,40 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace AsbCloudApp.Exceptions
+namespace AsbCloudApp.Exceptions;
+
+///
+/// Argument validation fail Exception
+///
+public class ArgumentInvalidException : Exception
{
///
- /// Argument validation fail Exception
+ /// словарь с ошибками, где ключ - имя аргумента, а значение - массив из одного сообщения
///
- public class ArgumentInvalidException : Exception
+ public IDictionary ErrorState { get; } = null!;
+
+ // TODO: swap arguments, inherit from ArgumentException
+ ///
+ /// конструктор
+ ///
+ ///
+ ///
+ public ArgumentInvalidException(string paramName, string message)
+ : base(message)
{
- ///
- /// словарь с ошибками, где ключ - имя аргумента, а значение - массив из одного сообщения
- ///
- public IDictionary ErrorState { get; } = null!;
+ ErrorState = new Dictionary() {
+ { paramName, new[]{ message } }
+ };
+ }
- // TODO: swap arguments, inherit from ArgumentException
- ///
- /// конструктор
- ///
- ///
- ///
- public ArgumentInvalidException(string paramName, string message)
- : base(message)
- {
- ErrorState = new Dictionary() {
- { paramName, new[]{ message } }
- };
- }
-
- ///
- /// конструктор
- ///
- ///
- ///
- public ArgumentInvalidException(string[] paramsNames, string message)
- : base(message)
- {
- ErrorState = paramsNames.ToDictionary(paramName => paramName, item => new[] { message });
- }
+ ///
+ /// конструктор
+ ///
+ ///
+ ///
+ public ArgumentInvalidException(string[] paramsNames, string message)
+ : base(message)
+ {
+ ErrorState = paramsNames.ToDictionary(paramName => paramName, item => new[] { message });
}
}
diff --git a/AsbCloudApp/Exceptions/ForbidException.cs b/AsbCloudApp/Exceptions/ForbidException.cs
index daad3d49..79dda311 100644
--- a/AsbCloudApp/Exceptions/ForbidException.cs
+++ b/AsbCloudApp/Exceptions/ForbidException.cs
@@ -1,23 +1,22 @@
using System;
-namespace AsbCloudApp.Exceptions
+namespace AsbCloudApp.Exceptions;
+
+///
+/// Access denied exception
+///
+public class ForbidException : Exception
{
///
/// Access denied exception
///
- public class ForbidException : Exception
- {
- ///
- /// Access denied exception
- ///
- public ForbidException()
- : base() { }
+ public ForbidException()
+ : base() { }
- ///
- /// Access denied exception
- ///
- public ForbidException(string message)
- : base(message) { }
+ ///
+ /// Access denied exception
+ ///
+ public ForbidException(string message)
+ : base(message) { }
- }
}
diff --git a/AsbCloudApp/Extensions/ChangeLogExtensions.cs b/AsbCloudApp/Extensions/ChangeLogExtensions.cs
index 32b636ed..a9a82135 100644
--- a/AsbCloudApp/Extensions/ChangeLogExtensions.cs
+++ b/AsbCloudApp/Extensions/ChangeLogExtensions.cs
@@ -6,28 +6,27 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace AsbCloudApp.Extensions
+namespace AsbCloudApp.Extensions;
+
+///
+/// Расширения для поиска в истории
+///
+public static class ChangeLogExtensions
{
///
- /// Расширения для поиска в истории
+ /// Действительные на момент времени значения
///
- public static class ChangeLogExtensions
+ ///
+ ///
+ ///
+ ///
+ public static IEnumerable> WhereActualAtMoment(this IEnumerable> items, DateTimeOffset moment)
+ where T : IId
{
- ///
- /// Действительные на момент времени значения
- ///
- ///
- ///
- ///
- ///
- public static IEnumerable> WhereActualAtMoment(this IEnumerable> items, DateTimeOffset moment)
- where T : IId
- {
- var actualItems = items
- .Where(item => item.Creation <= moment)
- .Where(item => item.Obsolete is null || item.Obsolete >= moment);
+ var actualItems = items
+ .Where(item => item.Creation <= moment)
+ .Where(item => item.Obsolete is null || item.Obsolete >= moment);
- return actualItems;
- }
+ return actualItems;
}
}
diff --git a/AsbCloudApp/Repositories/IDataSaubStatRepository.cs b/AsbCloudApp/Repositories/IDataSaubStatRepository.cs
index b25675c7..d419ad82 100644
--- a/AsbCloudApp/Repositories/IDataSaubStatRepository.cs
+++ b/AsbCloudApp/Repositories/IDataSaubStatRepository.cs
@@ -5,37 +5,36 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// Репозиторий работы с данными из таблицы t_data_daub_stat
+///
+public interface IDataSaubStatRepository : ITelemetryDataEditorService
{
///
- /// Репозиторий работы с данными из таблицы t_data_daub_stat
+ /// Получение записей по ключу телеметрии
///
- public interface IDataSaubStatRepository : ITelemetryDataEditorService
- {
- ///
- /// Получение записей по ключу телеметрии
- ///
- /// ключ телеметрии
- /// начальная дата
- /// конечная дата
- ///
- ///
- Task> GetAsync(int idTelemetry, DateTimeOffset geDate, DateTimeOffset leDate, CancellationToken token);
+ /// ключ телеметрии
+ /// начальная дата
+ /// конечная дата
+ ///
+ ///
+ Task> GetAsync(int idTelemetry, DateTimeOffset geDate, DateTimeOffset leDate, CancellationToken token);
- ///
- /// Получение последних по дате окончания бурения записей в разрезе телеметрий
- ///
- /// ключи телеметрий
- ///
- ///
- Task> GetLastsAsync(int[] idTelemetries, CancellationToken token);
+ ///
+ /// Получение последних по дате окончания бурения записей в разрезе телеметрий
+ ///
+ /// ключи телеметрий
+ ///
+ ///
+ Task> GetLastsAsync(int[] idTelemetries, CancellationToken token);
- ///
- /// Вставка записей статистики
- ///
- ///
- ///
- ///
- Task InsertRangeAsync(IEnumerable dataSaubStats, CancellationToken token);
- }
+ ///
+ /// Вставка записей статистики
+ ///
+ ///
+ ///
+ ///
+ Task InsertRangeAsync(IEnumerable dataSaubStats, CancellationToken token);
}
diff --git a/AsbCloudApp/Repositories/IDepositRepository.cs b/AsbCloudApp/Repositories/IDepositRepository.cs
index 4185c9e3..dc1f3833 100644
--- a/AsbCloudApp/Repositories/IDepositRepository.cs
+++ b/AsbCloudApp/Repositories/IDepositRepository.cs
@@ -3,31 +3,30 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// Сервис информации о кустах
+///
+public interface IDepositRepository
{
///
- /// Сервис информации о кустах
+ /// список месторождений, доступных для пользователя
///
- public interface IDepositRepository
- {
- ///
- /// список месторождений, доступных для пользователя
- ///
- ///
- ///
- ///
- Task> GetAsync(int idCompany,
- CancellationToken token);
+ ///
+ ///
+ ///
+ Task> GetAsync(int idCompany,
+ CancellationToken token);
- ///
- /// Список кустов месторождения доступных компании
- ///
- ///
- ///
- ///
- ///
- Task> GetClustersAsync(int idCompany,
- int depositId, CancellationToken token);
+ ///
+ /// Список кустов месторождения доступных компании
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task> GetClustersAsync(int idCompany,
+ int depositId, CancellationToken token);
- }
}
diff --git a/AsbCloudApp/Repositories/IDrillTestRepository.cs b/AsbCloudApp/Repositories/IDrillTestRepository.cs
index d7b5d1b7..20fc28b6 100644
--- a/AsbCloudApp/Repositories/IDrillTestRepository.cs
+++ b/AsbCloudApp/Repositories/IDrillTestRepository.cs
@@ -5,38 +5,37 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// репозиторий по работе с данными drill_test
+///
+public interface IDrillTestRepository : ITelemetryDataEditorService
{
///
- /// репозиторий по работе с данными drill_test
+ /// Получить данные drill_test в соответствии с параметрами запроса
///
- public interface IDrillTestRepository : ITelemetryDataEditorService
- {
- ///
- /// Получить данные drill_test в соответствии с параметрами запроса
- ///
- /// ключ телеметрии
- /// запрос
- ///
- ///
- Task> GetAllAsync(int idTelemetry, FileReportRequest request, CancellationToken cancellationToken);
+ /// ключ телеметрии
+ /// запрос
+ ///
+ ///
+ Task> GetAllAsync(int idTelemetry, FileReportRequest request, CancellationToken cancellationToken);
- ///
- /// Получить запись drill_test
- ///
- /// ключ телеметрии
- /// ключ записи drill_test
- ///
- ///
- Task GetAsync(int idTelemetry, int id, CancellationToken cancellationToken);
+ ///
+ /// Получить запись drill_test
+ ///
+ /// ключ телеметрии
+ /// ключ записи drill_test
+ ///
+ ///
+ Task GetAsync(int idTelemetry, int id, CancellationToken cancellationToken);
- ///
- /// Сохранить данные drill_test
- ///
- /// ключ телеметрии
- /// записи drill test
- ///
- ///
- Task SaveDataAsync(int idTelemetry, IEnumerable dtos, CancellationToken token);
- }
+ ///
+ /// Сохранить данные drill_test
+ ///
+ /// ключ телеметрии
+ /// записи drill test
+ ///
+ ///
+ Task SaveDataAsync(int idTelemetry, IEnumerable dtos, CancellationToken token);
}
diff --git a/AsbCloudApp/Repositories/IFaqRepository.cs b/AsbCloudApp/Repositories/IFaqRepository.cs
index f4079159..0df1b1e9 100644
--- a/AsbCloudApp/Repositories/IFaqRepository.cs
+++ b/AsbCloudApp/Repositories/IFaqRepository.cs
@@ -5,61 +5,60 @@ using System.Threading;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// репозиторий по работе с faq-вопросами
+///
+public interface IFaqRepository
{
///
- /// репозиторий по работе с faq-вопросами
+ /// Получить список вопросов
///
- public interface IFaqRepository
- {
- ///
- /// Получить список вопросов
- ///
- ///
- ///
- ///
- Task> GetFilteredAsync(FaqRequest request, CancellationToken token);
+ ///
+ ///
+ ///
+ Task> GetFilteredAsync(FaqRequest request, CancellationToken token);
- ///
- /// Добавить вопрос
- ///
- ///
- ///
- ///
- Task InsertAsync(FaqDto faqDto, CancellationToken token);
+ ///
+ /// Добавить вопрос
+ ///
+ ///
+ ///
+ ///
+ Task InsertAsync(FaqDto faqDto, CancellationToken token);
- ///
- /// Обновить существующий вопрос
- ///
- ///
- ///
- ///
- Task UpdateAsync(FaqDto dto, CancellationToken token);
+ ///
+ /// Обновить существующий вопрос
+ ///
+ ///
+ ///
+ ///
+ Task UpdateAsync(FaqDto dto, CancellationToken token);
- ///
- /// Объединить 2 вопроса в 1
- ///
- /// ключ первого вопроса, подлежащего объединению
- /// ключ второго вопроса, подлежащего объединению
- /// Флаг, объединять текст вопросов или нет
- ///
- ///
- Task MergeAsync(int sourceId1, int sourceId2, bool mergeQuestions, CancellationToken token);
+ ///
+ /// Объединить 2 вопроса в 1
+ ///
+ /// ключ первого вопроса, подлежащего объединению
+ /// ключ второго вопроса, подлежащего объединению
+ /// Флаг, объединять текст вопросов или нет
+ ///
+ ///
+ Task MergeAsync(int sourceId1, int sourceId2, bool mergeQuestions, CancellationToken token);
- ///
- /// Пометить вопрос по id как удаленный
- ///
- ///
- ///
- ///
- Task MarkAsDeletedAsync(int id, CancellationToken token);
+ ///
+ /// Пометить вопрос по id как удаленный
+ ///
+ ///
+ ///
+ ///
+ Task MarkAsDeletedAsync(int id, CancellationToken token);
- ///
- /// Удалить вопрос по ключу
- ///
- ///
- ///
- ///
- Task DeleteAsync(int id, CancellationToken token);
- }
+ ///
+ /// Удалить вопрос по ключу
+ ///
+ ///
+ ///
+ ///
+ Task DeleteAsync(int id, CancellationToken token);
}
diff --git a/AsbCloudApp/Repositories/IFileRepository.cs b/AsbCloudApp/Repositories/IFileRepository.cs
index 7ed4d574..c75ad977 100644
--- a/AsbCloudApp/Repositories/IFileRepository.cs
+++ b/AsbCloudApp/Repositories/IFileRepository.cs
@@ -5,77 +5,76 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// Сервис доступа к файлам
+///
+public interface IFileRepository : ICrudRepository
{
///
- /// Сервис доступа к файлам
+ /// Получение файлов по скважине
///
- public interface IFileRepository : ICrudRepository
- {
- ///
- /// Получение файлов по скважине
- ///
- ///
- ///
- ///
- Task> GetInfosAsync(FileRequest request, CancellationToken token);
+ ///
+ ///
+ ///
+ Task> GetInfosAsync(FileRequest request, CancellationToken token);
- ///
- /// Получить список файлов в контейнере
- ///
- ///
- ///
- ///
- Task> GetInfosPaginatedAsync(FileRequest request, CancellationToken token = default);
+ ///
+ /// Получить список файлов в контейнере
+ ///
+ ///
+ ///
+ ///
+ Task> GetInfosPaginatedAsync(FileRequest request, CancellationToken token = default);
- ///
- /// Пометить файл как удаленный
- ///
- ///
- ///
- ///
- Task MarkAsDeletedAsync(int idFile, CancellationToken token = default);
+ ///
+ /// Пометить файл как удаленный
+ ///
+ ///
+ ///
+ ///
+ Task MarkAsDeletedAsync(int idFile, CancellationToken token = default);
- ///
- /// удалить файлы
- ///
- ///
- ///
- ///
- Task> DeleteAsync(IEnumerable ids, CancellationToken token);
+ ///
+ /// удалить файлы
+ ///
+ ///
+ ///
+ ///
+ Task> DeleteAsync(IEnumerable ids, CancellationToken token);
- ///
- /// получить инфо о файле по метке
- ///
- ///
- ///
- ///
- Task GetByMarkId(int idMark, CancellationToken token);
+ ///
+ /// получить инфо о файле по метке
+ ///
+ ///
+ ///
+ ///
+ Task GetByMarkId(int idMark, CancellationToken token);
- ///
- /// добавить метку на файл
- ///
- ///
- ///
- ///
- ///
- Task CreateFileMarkAsync(FileMarkDto fileMarkDto, int idUser, CancellationToken token);
+ ///
+ /// добавить метку на файл
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task CreateFileMarkAsync(FileMarkDto fileMarkDto, int idUser, CancellationToken token);
- ///
- /// Инфо о файлах
- ///
- ///
- ///
- ///
- Task> GetInfoByIdsAsync(IEnumerable idsFile, CancellationToken token);
+ ///
+ /// Инфо о файлах
+ ///
+ ///
+ ///
+ ///
+ Task> GetInfoByIdsAsync(IEnumerable idsFile, CancellationToken token);
- ///
- /// пометить метки файлов как удаленные
- ///
- ///
- ///
- ///
- Task MarkFileMarkAsDeletedAsync(IEnumerable idsMarks, CancellationToken token);
+ ///
+ /// пометить метки файлов как удаленные
+ ///
+ ///
+ ///
+ ///
+ Task MarkFileMarkAsDeletedAsync(IEnumerable idsMarks, CancellationToken token);
- }
}
diff --git a/AsbCloudApp/Repositories/IFileStorageRepository.cs b/AsbCloudApp/Repositories/IFileStorageRepository.cs
index 22635e52..99e0d86a 100644
--- a/AsbCloudApp/Repositories/IFileStorageRepository.cs
+++ b/AsbCloudApp/Repositories/IFileStorageRepository.cs
@@ -4,107 +4,106 @@ using System.IO;
using System.Threading;
using System.Threading.Tasks;
-namespace AsbCloudApp.Repositories
+namespace AsbCloudApp.Repositories;
+
+///
+/// Репозиторий хранения фалов
+///
+public interface IFileStorageRepository
{
+
///
- /// Репозиторий хранения фалов
+ /// Получение длинны фала и проверка его наличия, если отсутствует падает исключение
///
- public interface IFileStorageRepository
- {
+ ///
+ ///
+ long GetFileLength(string srcFilePath);
- ///
- /// Получение длинны фала и проверка его наличия, если отсутствует падает исключение
- ///
- ///
- ///
- long GetFileLength(string srcFilePath);
+ ///
+ /// Перемещение файла
+ ///
+ ///
+ ///
+ void MoveFile(string srcFilePath, string filePath);
- ///
- /// Перемещение файла
- ///
- ///
- ///
- void MoveFile(string srcFilePath, string filePath);
+ ///
+ /// Копирование файла
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task SaveFileAsync(string filePathRec, Stream fileStreamSrc, CancellationToken token);
- ///
- /// Копирование файла
- ///
- ///
- ///
- ///
- ///
- Task SaveFileAsync(string filePathRec, Stream fileStreamSrc, CancellationToken token);
+ ///
+ /// Удаление пачки файлов
+ ///
+ ///
+ void DeleteFiles(IEnumerable filesName);
- ///
- /// Удаление пачки файлов
- ///
- ///
- void DeleteFiles(IEnumerable filesName);
+ ///
+ /// Удаление одного файла
+ ///
+ ///
+ void DeleteFile(string fileName);
- ///
- /// Удаление одного файла
- ///
- ///
- void DeleteFile(string fileName);
+ ///
+ /// Удаление директории
+ ///
+ ///
+ ///
+ void DeleteDirectory(string path, bool isRecursive);
- ///
- /// Удаление директории
- ///
- ///
- ///
- void DeleteDirectory(string path, bool isRecursive);
+ ///
+ /// Удаление всех файлов с диска о которых нет информации в базе
+ ///
+ ///
+ ///
+ int DeleteFilesNotInList(int idWell, IEnumerable idsFiles);
- ///
- /// Удаление всех файлов с диска о которых нет информации в базе
- ///
- ///
- ///
- int DeleteFilesNotInList(int idWell, IEnumerable idsFiles);
+ ///
+ /// Вывод списка всех файлов из базы, для которых нет файла на диске
+ ///
+ ///
+ ///
+ IEnumerable GetListFilesNotDisc(IEnumerable files);
- ///