using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using AsbCloudApp.Data.User; namespace AsbCloudApp.Data; /// /// DTO информации о файле. Используется для загрузки файла. /// public class FileInfoDto : IId, IWellRelated { /// [Required] public int Id { get; set; } /// [Required] [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// /// id категории файла /// [Required] [Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")] public int IdCategory { get; set; } /// /// Id автора /// public int? IdAuthor { get; set; } /// /// имя файла /// [Required] [StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")] public string Name { get; set; } = null!; /// /// дата загрузки /// [Required] public DateTimeOffset UploadDate { get; set; } /// /// размер в байтах /// [Required] public long Size { get; set; } /// /// Помечен как удаленный /// [Required] public bool IsDeleted { get; set; } /// /// DTO автора /// public UserDto? Author { get; set; } /// /// список отметок файла /// [Required] public IEnumerable FileMarks { get; set; } = Enumerable.Empty(); }