using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewide.Application
{
    /// <summary>
    /// 记录鉴定机构申请及修改, 在申请/修改时, 只记录在当前表内, 待审核通过将此表内容冗余到主表
    /// </summary>
    [Table("bs_inspection_org_update")]
    [Comment("鉴定机构修改记录表")]
    public class BsInspectionOrgUpdate : Core.DEntityBase
    {
        [Comment("机构Id")]
        [MaxLength(36)]
        [Required]
        public string OrgId { get; set; }

        [Comment("名称")]
        [MaxLength(100)]
        public string Name { get; set; }

        [Comment("社会统一信用代码")]
        [MaxLength(50)]
        public string CreditCode { get; set; }

        [Comment("地址")]
        [Required]
        public string Address { get; set; }

        [Comment("联系人")]
        [MaxLength(50)]
        public string Contacts { get; set; }

        [Comment("联系人手机号")]
        [MaxLength(50)]
        public string ContactsPhone { get; set; }

        [Comment("法人代表")]
        [MaxLength(50)]
        public string LegalPerson { get; set; }

        [Comment("固定电话")]
        [MaxLength(50)]
        public string OrgTelephone { get; set; }

        [Comment("名录申请表")]
        public string ApplicationFormFiles { get; set; }

        [Comment("机构营业执照和法人证书")]
        public string OrgBusinessLicenseFiles { get; set; }

        [Comment("建设工程质量检测资质证书或检验检测机构资质认定证书")]
        public string InspectionQualificationCertificateFiles { get; set; }

        [Comment("办公场所资料(房产证、不动产登记证或房屋租赁合同等)")]
        public string OfficeInformationFiles { get; set; }

        [Comment("符合条件的从业人员职称证明、学历证明、劳动合同、社保证明等")]
        public string EmployeeCertificateFiles { get; set; }

        [Comment("开展房屋安全鉴定工作必要的设备计量检定证书、校准证书")]
        public string CalibrationCertificateFiles { get; set; }    

        [Comment("其他资料")]
        public string OtherFiles { get; set; }

        [Comment("记录类型 1登记/回归 2修改")]
        public InspectionOrgUpdateType Type { get; set; }

        [Comment("状态 -2放弃 -1退回 1审核中 2审核通过")]
        public InspectionOrgUpdateStatus Status { get; set; }

        [Comment("退回理由/备注")]
        public string Remark { get; set; }
    }
}
