using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.User;

namespace AsbCloudApp.Data;

/// <summary>
/// DTO Документ дела скважины
/// </summary>
public class WellFinalDocumentDto
{
    /// <summary>
    /// Идентификатор категории файла
    /// </summary>
    [Required]
    public int IdCategory { get; set; }

    /// <summary>
    /// Наименование категории файла
    /// </summary>
    public string NameCategory { get; set; } = string.Empty;

    /// <summary>
    /// Разрешение для текущего пользователя загружать документ
    /// </summary>
    [Required]
    public bool PermissionToUpload { get; set; } = false;

    /// <summary>
    /// Список ответственных
    /// </summary>
    [Required]
    public IEnumerable<UserDto> Publishers { get; set; } = Enumerable.Empty<UserDto>();

    /// <summary>
    /// Количество файлов этой категории загруженных ранее
    /// </summary>
    [Required]
    public int FilesCount { get; set; }

    /// <summary>
    /// Актуальный файл
    /// </summary>
    public FileInfoDto? File { get; set; }
}