using Microsoft.EntityFrameworkCore; using PARR.DAL.Context; using PARR.DAL.Models.Base; using PARR.DAL.Models.Job; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace PARR.DAL.Models.Unit { /// /// Справочник полей ЭК (компонентный состав, ответствтвенные, любые поля) /// [Table("Fields", Schema = DataContextSettings.Unit)] [Comment("Справочник полей ЭК")] [Index(nameof(AihitName))] [Index(nameof(EsppName))] public class UnitField : IBase { [Key] public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } [NotMapped] public DateTimeOffset? DateModified { get; set; } /// /// Имя поля в АИХ ИТ, заполняется при синхронизации /// public required string AihitName { get; set; } /// /// Название поля в ЕСПП, возможно в дальнейшем для синхронизации /// public string? EsppName { get; set; } /// /// Название поля для отображения в ГУИ /// public string? DisplayName { get; set; } /// /// Код поля, используется в GUI /// public string? Code { get; set; } /// /// Могут ли принимать несколько значений. Из АИХ ИТ приходят значения разделённые запятой /// public bool? IsMultipleValue { get; set; } public ICollection Units { get; set; } = new HashSet(); public ICollection UnitInValues { get; set; } = new HashSet(); public ICollection UnitFieldValues { get; set; } = new HashSet(); public ICollection RelationshipFilters { get; set; } = new HashSet(); /// /// JobGroup которые группируются по этому полю (!!!отключено каскадное удаление!!!) /// public ICollection JobGroupWithGrouping { get; set; } = new HashSet(); } }