using System;
using System.Collections.Generic;

namespace AsbCloudApp.Data
{
    /// <summary>
    /// DTO информации о файле. Используется для загрузки файла.
    /// </summary>
    public class FileInfoDto : IId, IWellRelated
    {
        /// <inheritdoc/>
        public int Id { get; set; }

        /// <inheritdoc/>
        public int IdWell { get; set; }
        
        /// <summary>
        /// id категории файла
        /// </summary>
        public int IdCategory { get; set; }

        /// <summary>
        /// Id автора
        /// </summary>
        public int? IdAuthor { get; set; }

        /// <summary>
        /// имя файла
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// дата загрузки
        /// </summary>
        public DateTime UploadDate { get; set; }

        /// <summary>
        /// размер в байтах
        /// </summary>
        public long Size { get; set; }

        /// <summary>
        /// инфо о публикации файла на гугл диске
        /// </summary>
        public FilePublishInfoDto PublishInfo { get; set; }

        /// <summary>
        /// DTO автора
        /// </summary>
        public UserDto Author { get; set; }

        /// <summary>
        /// список отметок файла
        /// </summary>
        public IEnumerable<FileMarkDto> FileMarks { get; set; }
    }
}