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