DD.WellWorkover.Cloud/AsbCloudApp/Data/FileInfoDto.cs

72 lines
2.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
2023-03-10 05:09:41 +05:00
using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.User;
namespace AsbCloudApp.Data
{
2022-06-02 12:35:51 +05:00
/// <summary>
/// DTO информации о файле. Используется для загрузки файла.
/// </summary>
public class FileInfoDto : IId, IWellRelated
{
2022-06-02 12:35:51 +05:00
/// <inheritdoc/>
[Required]
public int Id { get; set; }
2022-06-02 12:35:51 +05:00
/// <inheritdoc/>
[Required]
2023-03-10 05:09:41 +05:00
[Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
2021-08-29 17:25:16 +05:00
public int IdWell { get; set; }
2023-03-10 05:09:41 +05:00
2022-06-02 12:35:51 +05:00
/// <summary>
/// id категории файла
/// </summary>
[Required]
2023-03-10 05:09:41 +05:00
[Range(1, int.MaxValue, ErrorMessage = "Id категории файла не может быть меньше 1")]
public int IdCategory { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// Id автора
/// </summary>
2022-02-21 17:55:50 +05:00
public int? IdAuthor { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// имя файла
/// </summary>
[Required]
2023-03-10 05:09:41 +05:00
[StringLength(260, MinimumLength = 1, ErrorMessage = "Допустимое имя компании от 1 до 260 символов")]
public string Name { get; set; } = null!;
2022-06-02 12:35:51 +05:00
/// <summary>
/// дата загрузки
/// </summary>
[Required]
public DateTimeOffset UploadDate { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// размер в байтах
/// </summary>
[Required]
public long Size { get; set; }
2022-06-02 12:35:51 +05:00
2022-10-17 14:42:47 +05:00
/// <summary>
/// Помечен как удаленный
/// </summary>
[Required]
2022-10-17 14:42:47 +05:00
public bool IsDeleted { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// DTO автора
/// </summary>
public UserDto? Author { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// список отметок файла
/// </summary>
[Required]
2023-03-10 13:40:05 +05:00
public IEnumerable<FileMarkDto> FileMarks { get; set; } = Enumerable.Empty<FileMarkDto>();
}
}