using System.Collections.Generic;

namespace AsbCloudApp.Data
{
    /// <summary>
    /// DTO состояния формирования программы бурения
    /// </summary>
    public class DrillingProgramStateDto
    {
        /// <summary>
        /// 0 - не инициировано
        /// 1 - загрузка и согласование
        /// 2 - формируется (несколько минут)
        /// 3 - готова
        /// </summary>
        public int IdState { get; set; }

        /// <summary>
        /// Ошибка при формировании
        /// </summary>
        public DrillingProgramCreateError Error { get; set; }

        /// <summary>
        /// Файл сформированной программы бурения
        /// </summary>
        public FileInfoDto Program { get; set; }
        
        /// <summary>
        /// Разрешение редактировать части программы бурения
        /// </summary>
        public bool PermissionToEdit { get; set; }

        /// <summary>
        /// Список частей программы бурения
        /// </summary>
        public IEnumerable<DrillingProgramPartDto> Parts { get; set; }
    }

    /// <summary>
    /// DTO ошибки при создании программы бурения
    /// </summary>
    public class DrillingProgramCreateError
    {
        /// <summary>
        /// Текст ошибки для отображения пользователю
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// Текст ошибки для разработчика
        /// </summary>
        public string Exception { get; set; }
    }
}