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();
}