using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace AsbCloudApp.Data { /// <summary> /// DTO состояния формирования программы бурения /// </summary> public class DrillingProgramStateDto { /// <summary> /// 0 - не инициировано /// 1 - загрузка и согласование /// 2 - формируется (несколько минут) /// 3 - готова /// </summary> [Required] public int IdState { get; set; } /// <summary> /// Ошибка при формировании /// </summary> public DrillingProgramCreateError? Error { get; set; } /// <summary> /// Файл сформированной программы бурения /// </summary> public FileInfoDto? Program { get; set; } /// <summary> /// Разрешение редактировать части программы бурения /// </summary> [Required] public bool PermissionToEdit { get; set; } /// <summary> /// Список частей программы бурения /// </summary> [Required] public IEnumerable<DrillingProgramPartDto> Parts { get; set; } = Enumerable.Empty<DrillingProgramPartDto>(); } /// <summary> /// DTO ошибки при создании программы бурения /// </summary> public class DrillingProgramCreateError { /// <summary> /// Текст ошибки для отображения пользователю /// </summary> [Required] public string Message { get; set; } = string.Empty; /// <summary> /// Текст ошибки для разработчика /// </summary> [Required] public string Exception { get; set; } = string.Empty; } }