Files
parr_api/PARR.DAL/Models/Job/Job.cs

84 lines
3.0 KiB
C#
Raw Normal View History

using Microsoft.EntityFrameworkCore;
using PARR.DAL.Context;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models.Job
{
[Table("Jobs", Schema = DataContextSettings.Job)]
[Comment("Таблица видов работ")]
public class Job : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
/// <summary>
/// Наименование работ для интерфеса в ПАРР
/// </summary>
public required string Name { get; set; }
/// <summary>
/// Наименование работ для поля Работа в шаблоне АСУ ЕСПП, может быть динамическое
/// </summary>
public required string WorkName { get; set; }
/// <summary>
/// Минимальное значение дочерних или родительских связей группового ЭК
/// </summary>
public int? MinValueRelationships { get; set; }
/// <summary>
/// Максимальное значение дочерних или родительских связей группового ЭК
/// </summary>
public int? MaxValueRelationships { get; set; }
/// <summary>
/// Для подсчёта связей групового ЭК использовать родительсике или дочерние связи
/// </summary>
/// <value>
/// true - диапазон связей относится к родительским связям<br/>
/// false, null - диапазон относится к дочерним связям
/// </value>
public bool? IsParentRelationships { get; set; }
/// <summary>
/// Маска для динамического формирования имени шаблона
/// </summary>
public required string TemplateNameMask { get; set; }
/// <summary>
/// Маска для динамического формирования рабочей группы исполнителей шаблона
/// </summary
public required string WorkGroupMask { get; set; }
/// <summary>
/// Зона ответственности
/// </summary>
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<JobUnitFilter> UnitFilters { get; set; } = new HashSet<JobUnitFilter>();
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
public JobAutoControl? AutoControl { get; set; }
}
}