using PARR.Common.Domain;
using PARR.Constants;

namespace PARR.BLL.Domain.Mq
{
    public class TemplateUpdaterMq
    {
        public Guid TemplateId { get; set; }

        /// <summary>
        /// Id регламентной работы
        /// </summary>
        public Guid JobId { get; set; }

        public required string Name { get; set; }

        /// <summary>
        /// Актировать шаблон при инициализации
        /// </summary>
        public bool IsActiveTemplate { get; set; }

        /// <summary>
        /// Актировать расписание при инициализации
        /// </summary>
        public bool IsActiveSchedule { get; set; }

        public DateTimeOffset? LastRun { get; set; }

        public DateTimeOffset NextRun { get; set; }

        /// <summary>
        /// Id Юнита(единицы обслуживания)/ЭК
        /// </summary>
        public Guid UnitId { get; set; }

        /// <summary>
        /// Индекс, используется в групповых шаблонах
        /// </summary>
        public int? Index { get; set; }

        public TemplateStatusTypeEnum StatusTypeId { get; set; }

        /// <summary>
        /// Инициатор запроса к генератору
        /// </summary>
        public required HistoryInitiator Initiator { get; set; }

        /// <summary>
        /// Связанные ЭК для сгруппированного типа JobGroup
        /// </summary>
        public required List<Guid> UnitsInTemplate { get; set; }
    }
}
