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

namespace PARR.Domain.Entities.Schedule
{
    /// <summary>
    /// Расписание ЕСПП: значения заданий для JobGroup
    /// </summary>
    [Table("EsppSchValues", Schema = DatabaseSchemas.Schedule)]
    [PrimaryKey(nameof(JobGroupId), nameof(TypeValueId), nameof(TypeConfigId))]
    public class EsppSchValue
    {
        public Guid TypeValueId { get; set; }

        public Guid TypeConfigId { get; set; }

        public Guid JobGroupId { get; set; }

        [ForeignKey(nameof(TypeValueId))]
        public EsppSchTypeValue? EsppSchTypeValue { get; set; }

        [ForeignKey(nameof(TypeConfigId))]
        public EsppSchTypeConfig? EsppSchTypeConfig { get; set; }

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