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.Unit
{
    [Table("FieldValues", Schema = DatabaseSchemas.Unit)]
    [Comment("Значения полей ЭК")]
    [Index(nameof(Value), IsUnique = true)]
    public class UnitFieldValue : IBaseEntity
    {
        [Key]
        public Guid Id { get; set; }

        public DateTimeOffset DateCreated { get; set; }

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

        public string? Value { get; set; }


        public ICollection<UnitInValue> UnitInValues { get; set; } = new HashSet<UnitInValue>();

        public ICollection<UnitFieldInUnitFieldValue> FieldValues { get; set; } = new HashSet<UnitFieldInUnitFieldValue>();

        public UnitRegionalEkPtkGroup? RegionalEkPtkGroup { get; set; }

        public ICollection<UnitsInTemplate> UnitsInTemplates { get; set; } = new HashSet<UnitsInTemplate>();
    }
}
