DD.WellWorkover.Cloud/AsbCloudApp/Data/SAUB/SetpointsRequestDto.cs

66 lines
2.0 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using AsbCloudApp.Data.User;
2024-08-19 10:01:07 +05:00
namespace AsbCloudApp.Data.SAUB;
/// <summary>
/// DTO запроса для предложения по изменению уставок на панели оператора
/// </summary>
public class SetpointsRequestDto : IId, IWellRelated
{
2024-08-19 10:01:07 +05:00
/// <inheritdoc/>
[Required]
public int Id { get; set; }
2024-08-19 10:01:07 +05:00
/// <inheritdoc/>
[Required]
public int IdWell { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Id автора запроса
/// </summary>
[Required]
public int IdAuthor { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// текущее состояние запроса 0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело
/// </summary>
[Required]
public int IdState { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// отметка времени создания запроса
/// </summary>
public DateTimeOffset UploadDate { get; set; } = DateTimeOffset.Now;
2024-08-19 10:01:07 +05:00
/// <summary>
/// время в секундах актуальности этого запроса
/// </summary>
[Required]
[Range(10 * 60, 4 * 60 * 60)]
public int ObsolescenceSec { get; set; } = 10 * 60;
2024-08-19 10:01:07 +05:00
/// <summary>
/// набор уставок: {"название переменной панели"; "рекомендуемое значение"}
/// </summary>
[Required]
public Dictionary<string, double> Setpoints { get; set; } = new();
2022-06-02 12:35:51 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Комментарий для оператора панели
/// </summary>
public string? Comment { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// DTO скважины
/// </summary>
public WellDto? Well { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// DTO автора
/// </summary>
public UserDto? Author { get; set; }
}