using System;
using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data
{
    /// <summary>
    /// Отметка для файла
    /// </summary>
    public class FileMarkDto: IId
    {
        /// <inheritdoc/>
        public int Id { get; set; }

        /// <summary>
        /// id файла
        /// </summary>
        [Range(1, int.MaxValue, ErrorMessage = "Id файла не может быть меньше 1")]
        public int IdFile { get; set; }

        /// <summary>
        /// 0 - отклонен
        /// 1 - согласован
        /// </summary>
        [Range(0, int.MaxValue, ErrorMessage = "Id категории действия с файлом не может быть меньше 1")]
        public int IdMarkType { get; set; }
        
        /// <summary>
        /// дата/время добавления.
        /// Необязательно указывать в запросе на создание.
        /// </summary>
        public DateTime DateCreated { get; set; }

        /// <summary>
        /// Полезный комментарий 
        /// </summary>
        [StringLength(4096, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 4096 символов")]
        public string? Comment { get; set; }

        /// <summary>
        /// признак удаления отметки
        /// </summary>
        public bool IsDeleted { get; set; }

        /// <summary>
        /// Пользователь создающий отметку.
        /// Необязательно указывать в запросе на создание.
        /// </summary>
        public UserDto? User { get; set; }
    }
}