using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using AsbCloudApp.Data.User; namespace AsbCloudApp.Data { /// <summary> /// Часть программы бурения /// </summary> public class DrillingProgramPartDto { /// <summary> /// Название /// </summary> [Required] public string Name { get; set; } = string.Empty; /// <summary> /// ИД категории файла /// </summary> [Required] public int IdFileCategory { get; set; } /// <summary> /// 0 - NoFile /// 1 - approving /// 2 - completely approved /// </summary> [Required] public int IdState { get; set; } /// <summary> /// Публикаторы. Могут загружать файл этой категории /// </summary> [Required] public IEnumerable<UserDto> Publishers { get; set; } = Enumerable.Empty<UserDto>(); /// <summary> /// Согласованты. Могут согласовывать загруженные файлы этой категории /// </summary> [Required] public IEnumerable<UserDto> Approvers { get; set; } = Enumerable.Empty<UserDto>(); /// <summary> /// Разрешение для текущего пользователя согласовывать документ /// </summary> [Required] public bool PermissionToApprove { get; set; } /// <summary> /// Разрешение для текущего пользователя загружать документ /// </summary> [Required] public bool PermissionToUpload { get; set; } /// <summary> /// Ссылка на документ. /// </summary> public FileInfoDto? File { get; set; } } }