102 lines
3.4 KiB
C#
102 lines
3.4 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using PARR.Domain.Entities.Base;
|
|
using PARR.Domain.Entities.Base.History;
|
|
using PARR.Domain.Entities.Base.History.Base;
|
|
using PARR.Domain.Entities.JobEntities;
|
|
using PARR.Domain.Entities.TemplateEntities;
|
|
using PARR.Domain.Enums;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace PARR.Domain.Entities
|
|
{
|
|
[Table("Templates")]
|
|
[Index(nameof(Name), nameof(Index), IsUnique = true)]
|
|
public class Template : IBaseEntity, ITemplateGeneralProps, IHistoryInitiator, IMyHistory<TemplateHistory>
|
|
{
|
|
[Key]
|
|
public Guid Id { get; set; }
|
|
|
|
public DateTimeOffset DateCreated { get; set; }
|
|
|
|
public DateTimeOffset? DateModified { get; set; }
|
|
|
|
public required string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Индекс, используется в групповых шаблонах
|
|
/// </summary>
|
|
public int? Index { get; set; }
|
|
|
|
public bool IsActiveTemplate { get; set; }
|
|
|
|
public bool IsActiveSchedule { get; set; }
|
|
|
|
/// <summary>
|
|
/// Номер расписания еспп
|
|
/// </summary>
|
|
public string? ScheduleEsppId { get; set; }
|
|
|
|
|
|
///// <summary>
|
|
///// Следующая дата срабатываения генерации наряда
|
|
///// </summary>
|
|
//public DateTimeOffset NextScheduleStart { get; set; }
|
|
|
|
///// <summary>
|
|
///// Следующа дата выполнения скрипта агентом. Может быть нулл если шаблон не автоматический (не выполняется скриптом)
|
|
///// </summary>
|
|
//public DateTimeOffset? NextScriptStart { get; set; }
|
|
|
|
|
|
public DateTimeOffset? LastRun { get; set; }
|
|
|
|
public DateTimeOffset NextRun { get; set; }
|
|
|
|
//public Guid ApplicationInWorkId { get; set; }
|
|
|
|
public Guid JobId { get; set; }
|
|
|
|
public Guid UnitId { get; set; }
|
|
|
|
public TemplateStatusTypeEnum StatusTypeId { get; set; } = TemplateStatusTypeEnum.Used;
|
|
|
|
//public Guid HostId { get; set; }
|
|
|
|
#region Initiator
|
|
public string? InitiatorIp { get; set; }
|
|
|
|
public ParrComponentsEnum? InitiatorParrComponentId { get; set; }
|
|
|
|
public string? InitiatorComment { get; set; }
|
|
#endregion
|
|
|
|
//[ForeignKey(nameof(ApplicationInWorkId))]
|
|
//public ApplicationsInWork? ApplicationsInWork { get; set; }
|
|
|
|
//[ForeignKey(nameof(HostId))]
|
|
//public Host? Host { get; set; }
|
|
|
|
[ForeignKey(nameof(JobId))]
|
|
public JobEntities.Job? Job { get; set; }
|
|
|
|
[ForeignKey(nameof(UnitId))]
|
|
public Unit.Unit? Unit { get; set; }
|
|
|
|
|
|
public ICollection<RobotConfiguration> RobotConfigurations { get; set; } = new HashSet<RobotConfiguration>();
|
|
|
|
public ICollection<AgentHistory> AgentHistories { get; set; } = new HashSet<AgentHistory>();
|
|
|
|
public ICollection<Order> Orders { get; set; } = new HashSet<Order>();
|
|
|
|
public ICollection<TemplateHistory> TemplateHistories { get; set; } = new HashSet<TemplateHistory>();
|
|
|
|
public ICollection<UnitsInTemplate> UnitsInTemplate { get; set; } = new HashSet<UnitsInTemplate>();
|
|
|
|
public TemplateStatusType? StatusType { get; set; }
|
|
|
|
public TemplateRenamePending? TemplateRenamePending { get; set; }
|
|
}
|
|
}
|