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 DateTimeOffset Date { get; set; }

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

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

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

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