using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
namespace AsbCloudApp.Data
{
///
/// DTO состояния формирования программы бурения
///
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();
}
///
/// DTO ошибки при создании программы бурения
///
public class DrillingProgramCreateError
{
///
/// Текст ошибки для отображения пользователю
///
[Required]
public string Message { get; set; } = string.Empty;
///
/// Текст ошибки для разработчика
///
[Required]
public string Exception { get; set; } = string.Empty;
}
}