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

namespace PARR.Domain.Entities.Unit
{
    /// <summary>
    /// Связи иерархии между ЭК
    /// </summary>
    [Table("UnitInUnits", Schema = DatabaseSchemas.Unit)]
    [Comment("Таблица связей иерархии между ЭК")]
    [PrimaryKey(nameof(ParentUnitId), nameof(ChildUnitId))]
    public class UnitInUnit
    {
        public Guid ParentUnitId { get; set; }

        public Guid ChildUnitId { get; set; }

        public DateTimeOffset DateCreated { get; set; }

        public DateTimeOffset? DateSynced { get; set; }


        [ForeignKey(nameof(ParentUnitId))]
        public Unit? ParentUnit { get; set; }

        [ForeignKey(nameof(ChildUnitId))]
        public Unit? ChildUnit { get; set; }
    }
}
