using System;
using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data
{
    /// <summary>
    /// DTO формирования рапорта
    /// </summary>
    public class ReportPropertiesDto : IId, IWellRelated
    {
        /// <inheritdoc/>
        public int Id { get; set; }

        /// <inheritdoc/>
        [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
        public int IdWell { get; set; }

        /// <summary>
        /// название 
        /// </summary>
        [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимая длина имени файла от 1 до 260 символов")]
        public string Name { get; set; } = null!;

        /// <summary>
        /// <see cref="FileInfoDto"/>
        /// </summary>
        public FileInfoDto File { get; set; } = null!;

        /// <summary>
        /// Дата формирования
        /// </summary>
        public DateTime Date { get; set; }

        /// <summary>
        /// Дата начала рапорта
        /// </summary>
        public DateTime Begin { get; set; }

        /// <summary>
        /// Дата окончания рапорта
        /// </summary>
        public DateTime End { get; set; }

        /// <summary>
        /// шаг между точками диаграммы
        /// </summary>
        public int Step { get; set; }

        /// <summary>
        /// формат файла
        /// </summary>
        public string Format { get; set; } = string.Empty;
    }
}