using Microsoft.EntityFrameworkCore; using PARR.Domain.Constants; using PARR.Domain.Entities.Base; using PARR.Domain.Entities.JobGroupEntities; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace PARR.Domain.Entities.JobEntities { [Table("Jobs", Schema = DatabaseSchemas.Job)] [Comment("Таблица видов работ")] public class Job : IBaseEntity { [Key] public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } public DateTimeOffset? DateModified { get; set; } /// /// Наименование работ для интерфеса в ПАРР /// public required string Name { get; set; } /// /// Наименование работ для поля Работа в шаблоне АСУ ЕСПП, может быть динамическое /// public required string WorkName { get; set; } /// /// Минимальное значение дочерних или родительских связей группового ЭК /// public int? MinValueRelationships { get; set; } /// /// Максимальное значение дочерних или родительских связей группового ЭК /// public int? MaxValueRelationships { get; set; } /// /// Для подсчёта связей групового ЭК использовать родительсике или дочерние связи /// /// /// true - диапазон связей относится к родительским связям
/// false, null - диапазон относится к дочерним связям ///
public bool? IsParentRelationships { get; set; } /// /// Маска для динамического формирования имени шаблона /// public required string TemplateNameMask { get; set; } /// /// Маска для динамического формирования рабочей группы исполнителей шаблона /// /// Зона ответственности /// public required string ResponseAreaMask { get; set; } public Guid TnkId { get; set; } public Guid GroupId { get; set; } [ForeignKey(nameof(GroupId))] public JobGroup? Group { get; set; } [ForeignKey(nameof(TnkId))] public Tnk? Tnk { get; set; } public ICollection UnitFilters { get; set; } = new HashSet(); public ICollection