using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace FMSAdmin.Entities
{
    public partial class CmPatrolPos
    {
        public CmPatrolPos()
        {
            CmPatrolHistoryPos = new HashSet<CmPatrolHistoryPos>();
        }

        [Key]
        public int SiteId { get; set; }
        public int BuildingId { get; set; }
        public int FloorId { get; set; }
        [Key]
        public int PosId { get; set; }
        [Required]
        [StringLength(50)]
        public string Name { get; set; }
        [StringLength(32)]
        public string TagId { get; set; }
        [StringLength(1024)]
        public string PosDesc { get; set; }

        [ForeignKey("SiteId,BuildingId")]
        [InverseProperty("CmPatrolPos")]
        public virtual CmBuilding CmBuilding { get; set; }
        [ForeignKey("SiteId,BuildingId,FloorId")]
        [InverseProperty("CmPatrolPos")]
        public virtual CmFloor CmFloor { get; set; }
        [ForeignKey(nameof(SiteId))]
        [InverseProperty(nameof(CmSite.CmPatrolPos))]
        public virtual CmSite Site { get; set; }
        [InverseProperty("CmPatrolPos")]
        public virtual ICollection<CmPatrolHistoryPos> CmPatrolHistoryPos { get; set; }
    }
}
