using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;

namespace Elwig.Models {
    [Table("area_commitment"), PrimaryKey("VNr", "KgNr", "GstNr")]
    public class AreaCommitment {
        [Column("vnr")]
        public int VNr { get; set; }

        [Column("kgnr")]
        public int KgNr { get; set; }

        [Column("gstnr")]
        public string? GstNr { get; set; }

        [Column("rdnr")]
        public int? RdNr { get; set; }

        [Column("area")]
        public int Area { get; set; }

        [Column("sortid")]
        public string SortId { get; set; }

        [Column("attrid")]
        public string? AttrId { get; set; }

        [Column("cultid")]
        public string CultId { get; set; }

        [ForeignKey("KgNr")]
        public virtual WbKg Kg { get; private set; }

        [ForeignKey("KgNr, RdNr")]
        public virtual WbRd? Rd { get; private set; }

        [ForeignKey("VNr")]
        public virtual Contract Contract { get; private set; }

        [ForeignKey("SortId")]
        public virtual WineVar WineVar { get; private set; }

        [ForeignKey("AttrId")]
        public virtual WineAttr WineAttr { get; private set; }

        [ForeignKey("CultId")]
        public virtual WineCult WineCult { get; private set; }
    }
}