using Microsoft.EntityFrameworkCore;
using PARR.Domain.Constants;
using PARR.Domain.Entities.Base;
using PARR.Domain.Entities.Job;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace PARR.Domain.Entities.Schedule
{
    /// <summary>
    /// Расписание регламентной работы, исключение - Календарь
    /// </summary>
    [Table("ExcludeTypeCalendars", Schema = DatabaseSchemas.Schedule)]
    [Comment("Расписание регламентной работы, исключение - Календарь")]
    public class ScheduleExcludeTypeCalendar : IBaseEntity
    {
        [Key]
        public Guid Id { get; set; }

        public DateTimeOffset DateCreated { get; set; }

        [NotMapped]
        public DateTimeOffset? DateModified { get; set; }

        /// <summary>
        /// Название в ПАРР
        /// </summary>
        public required string Title { get; set; }

        public required string EsppName { get; set; }

        public required string EsppValue { get; set; }

        public required string Code { get; set; }


        public ICollection<JobGroup> JobGroups { get; set; } = new HashSet<JobGroup>();
    }
}
