namespace PARR.API.Contracts.V1.Responses
{
    public class RobotTaskScheduleResponse : RobotTaskBaseResponse
    {
        /// <summary>
        /// ИД расписания из ЕСПП. При создании, его не будет
        /// </summary>
        public string? EsppId { get; set; }

        public required string ScheduleName { get; set; }

        public bool IsActive { get; set; }

        public required string ResponseArea { get; set; }

        public required string TemplateName { get; set; }

        public Guid TemplateId { get; set; }

        public required string WorkGroup { get; set; }

        public string? Description { get; set; }

        public required string Exclude { get; set; }

        // сделал возможный null, так как может в будущем это поле может не заполняться
        public string? ExcludeCalendar { get; set;  }

        public required string Timezone { get; set; }

        public required string RepeatRange { get; set; }

        /// <summary>
        /// Время создания наряда
        /// </summary>
        public required string GenerationTime { get; set; }

        /// <summary>
        /// Следующее срабатывание
        /// </summary>
        public required string NextStart { get; set; }

        /// <summary>
        /// Тип задания: Регулярно, еженедельно...
        /// </summary>
        public required string ScheduleType { get; set; }

        /// <summary>
        /// Код задания
        /// </summary>
        public int ScheduleTypeCode { get; set; }

        public List<RobotTaskScheduleSchResponse>? Schedule { get; set; }
    }

    public class RobotTaskScheduleSchResponse
    {
        public required string Type { get; set; }
        public int TypeCode { get; set; }
        public required string Value { get; set; }
        public int Order { get; set; }
    }
}
