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

namespace PARR.Domain.Entities.Job
{
    /// <summary>
    /// Настройки автораспределения для JobGroup
    /// </summary>
    [Table("GroupDistributionConfigs", Schema = DatabaseSchemas.Job)]
    [Comment("Настройки автораспределения для группы работ")]
    public class JobGroupDistributionConfig
    {
        [Key]
        public Guid GroupId { get; set; }

        public Guid DistributionPeriodId { get; set; }

        /// <summary>
        /// Исключать выходные и праздничные дни
        /// </summary>
        public bool IsExcludeWeekends { get; set; }

        /// <summary>
        /// Группировать по рабочей группе
        /// </summary>
        public bool IsGroupingByWorkGroup { get; set; }

        [ForeignKey(nameof(GroupId))]
        public JobGroup? Group { get; set; }

        [ForeignKey(nameof(DistributionPeriodId))]
        public DistributionPeriod? DistributionPeriod { get; set; }
    }
}
