using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("JobAutoControls")]
[Index(nameof(ApplicationInWorkId), IsUnique = true)]
public class JobAutoControl : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public Guid ApplicationInWorkId { get; set; }
[ForeignKey(nameof(ApplicationInWorkId))]
public ApplicationsInWork? ApplicationsInWork { get; set; }
///
/// Создавать новые РР (из настроке РР)
///
public bool CreateNew { get; set; }
///
/// Деактивировать не актуальные согласно ЭК (обратные статусы ЭК)
///
public bool Deactivate { get; set; }
///
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
///
public bool Activate { get; set; }
///
/// Состояние для активированных РР, шаблоны
///
public bool OnTemplateIsActive { get; set; }
///
/// Состояние для активированных РР, расписания
///
public bool OnScheduleIsActive { get; set; }
///
/// Состояние для деактивированных РР, шаблоны
///
public bool OffTemplateIsActive { get; set; }
///
/// Состояние для деактивированных РР, расписания
///
public bool OffScheduleIsActive { get; set; }
///
/// Список масок ЭК, или ЭК
///
public ICollection JobEkMasks { get; set; } = new HashSet();
///
/// Список статусов ЭК для которых создавать/активировать шаблоны/расписания
///
public ICollection JobAutoControlInEkStatuses { get; set; } = new HashSet();
}
}