DD.WellWorkover.Cloud/AsbCloudApp/Data/FileInfoDto.cs
2024-08-19 10:01:07 +05:00

71 lines
1.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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