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

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

        [Key]
        public int SiteId { get; set; }
        [Key]
        public int FacilityCode { get; set; }
        [Key]
        public int CheckItemId { get; set; }
        public int WorkTypeId { get; set; }
        public int CycleUnitId { get; set; }
        [Required]
        [StringLength(100)]
        public string Name { get; set; }
        public bool IsYesNoResult { get; set; }
        public bool? IsUse { get; set; }

        [ForeignKey("SiteId,CycleUnitId")]
        [InverseProperty("FmsFacilityCheckItem")]
        public virtual FmsWorkCodeCycleUnit FmsWorkCodeCycleUnit { get; set; }
        [ForeignKey(nameof(WorkTypeId))]
        [InverseProperty(nameof(FmsWorkCodeType.FmsFacilityCheckItem))]
        public virtual FmsWorkCodeType WorkType { get; set; }
        [InverseProperty("FmsFacilityCheckItem")]
        public virtual ICollection<FmsWorkResultCheckItem> FmsWorkResultCheckItem { get; set; }
    }
}
