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