using Microsoft.EntityFrameworkCore; using PARR.DAL.Models.Base; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace PARR.DAL.Models { [Table("ApplicationsInWorks")] [Index(nameof(WorkId), nameof(ApplicationId), IsUnique = true)] public class ApplicationsInWork : IBase { [Key] public Guid Id { get; set; } public DateTimeOffset DateCreated { get; set; } public DateTimeOffset? DateModified { get; set; } public Guid WorkId { get; set; } public Guid ApplicationId { get; set; } public required string TemplateDuration { get; set; } public required string ShortDescription { get; set; } public required string FullDescription { get; set; } public required string Solution { get; set; } ///// ///// Выполняется автоматически агентом на сервере, скриптами ///// //public bool? IsAutomatic { get; set; } ///// ///// Скрипт для автоматического выполнения ///// //public string AgentScript { get; set; } = string.Empty; ///// ///// Какое-то имя которое мы передаем агенту, пока непонятно что это такое. ///// //public string AgentName { get; set; } = string.Empty; ///// ///// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс) ///// //public TimeSpan ScheduleGenerationTime { get; set; } ///// ///// Расписание: Первое срабатывание ///// //public DateOnly ScheduleStartDate { get; set; } /// /// Время последнего запуска скрипта/генерации наряда /// public DateTimeOffset? LastRun { get; set; } /// /// Время следующего запуска скрипта/генерации наряда /// public DateTimeOffset NextRun { get; set; } /// /// Выполняет агент /// public bool IsAgent { get; set; } /// /// Какое-то имя которое мы передаем агенту, пока непонятно что это такое. /// public string? AgentName { get; set; } /// /// Сколько времени ожидать выполнение скрипта агентом (секунд) /// public int? AgentTimeOutSec { get; set; } /// /// Скрипт для автоматического выполнения /// public string? AgentScript { get; set; } [ForeignKey(nameof(WorkId))] public Work? Work { get; set; } [ForeignKey(nameof(ApplicationId))] public Application? Application { get; set; } public ICollection