using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Com.FirmLib.UI.Common.Model
{
    public class AssetShowItem:BaseAssetItem
    {
        public AssetShowItem()
        {
            this.IsEnabled = true;
        }
        #region 带勾选标志

        private bool m_IsChecked;
        /// <summary>
        /// 是否选中
        /// </summary>
        public bool IsChecked
        {
            get { return this.m_IsChecked; }
            set
            {
                this.m_IsChecked = value;
                RaisePropertyChanged(nameof(this.IsChecked));
            }
        }


        private bool m_IsEnabled;
        /// <summary>
        /// 标志数据是否可以修改
        /// </summary>
        public bool IsEnabled
        {
            get { return this.m_IsEnabled; }
            set
            {
                this.m_IsEnabled = value;
                RaisePropertyChanged(nameof(this.IsEnabled));
            }
        }
        #endregion

        /// <summary>
        /// 项目Id
        /// </summary>
        public string ProjectId { get; set; }
        /// <summary>
        /// 设备编码
        /// </summary>
        public string FamilyCode { get; set; }

        private string m_AssetNo;
        /// <summary>
        /// 资产编号
        /// </summary>
        public string AssetNo
        {
            get { return this.m_AssetNo; }
            set
            {
                this.m_AssetNo = value;
                RaisePropertyChanged(() => this.AssetNo);
            }
        }


        #region 保险商
        private string m_InsurancePolicyNo;
        /// <summary>
        /// 保单编号
        /// </summary>
        public string InsurancePolicyNo
        {
            get { return this.m_InsurancePolicyNo; }
            set
            {
                this.m_InsurancePolicyNo = value;
                RaisePropertyChanged(() => this.InsurancePolicyNo);
            }
        }


        private string m_EndDate;
        /// <summary>
        /// 保单截止日期
        /// </summary>
        public string EndDate
        {
            get { return this.m_EndDate; }
            set
            {
                this.m_EndDate = value;
                RaisePropertyChanged(() => this.EndDate);
            }
        }

        private string m_PolicyFile;
        /// <summary>
        /// 保单文件
        /// </summary>
        public string PolicyFile
        {
            get { return this.m_PolicyFile; }
            set
            {
                this.m_PolicyFile = value;
                RaisePropertyChanged(() => this.PolicyFile);
            }
        }


        private string m_InsuerName;
        /// <summary>
        /// 保险商名称
        /// </summary>
        public string InsuerName
        {
            get { return this.m_InsuerName; }
            set
            {
                this.m_InsuerName = value;
                RaisePropertyChanged(nameof(this.InsuerName));
            }
        }
        #endregion

        #region 生产商

        private double m_ProcurementPrice;
        /// <summary>
        /// 采购价格
        /// </summary>
        public double ProcurementPrice
        {
            get { return this.m_ProcurementPrice; }
            set
            {
                this.m_ProcurementPrice = value;
                RaisePropertyChanged(nameof(this.ProcurementPrice));
            }
        }


        private double m_MaintainPeriod;
        /// <summary>
        /// 保养周期
        /// </summary>
        public double MaintainPeriod
        {
            get { return this.m_MaintainPeriod; }
            set
            {
                this.m_MaintainPeriod = value;
                RaisePropertyChanged(nameof(this.MaintainPeriod));
            }
        }


        private double m_Warranty;
        /// <summary>
        /// 保修期
        /// </summary>
        public double Warranty
        {
            get { return this.m_Warranty; }
            set
            {
                this.m_Warranty = value;
                RaisePropertyChanged(nameof(this.Warranty));
            }
        }

        private string m_ProductionDate;
        /// <summary>
        /// 生产日期
        /// </summary>
        public string ProductionDate
        {
            get { return this.m_ProductionDate; }
            set
            {
                this.m_ProductionDate = value;
                RaisePropertyChanged(nameof(this.ProductionDate));
            }
        }

        private string m_ManufacturingNo;
        /// <summary>
        /// 出厂编号
        /// </summary>
        public string ManufacturingNo
        {
            get { return this.m_ManufacturingNo; }
            set
            {
                this.m_ManufacturingNo = value;
                RaisePropertyChanged(nameof(this.ManufacturingNo));
            }
        }
        #endregion

        #region 供应商

        private string m_SellerName;
        /// <summary>
        /// 供应商名称
        /// </summary>
        public string SellerName
        {
            get { return this.m_SellerName; }
            set
            {
                this.m_SellerName = value;
                RaisePropertyChanged(nameof(this.SellerName));
            }
        }


        private string m_SellerContractNo;
        /// <summary>
        /// 供应合同编号
        /// </summary>
        public string SellerContractNo
        {
            get { return this.m_SellerContractNo; }
            set
            {
                this.m_SellerContractNo = value;
                RaisePropertyChanged(nameof(this.SellerContractNo));
            }
        }
        #endregion


        #region 维修商

        private string m_MaintainerEndDate;
        /// <summary>
        /// 维修合同截止日期
        /// </summary>
        public string MaintainerEndDate
        {
            get { return this.m_MaintainerEndDate; }
            set
            {
                this.m_MaintainerEndDate = value;
                RaisePropertyChanged(nameof(this.MaintainerEndDate));
            }
        }
        #endregion

        #region 控制信息

        private bool m_ChangeMaintainer;
        /// <summary>
        /// 维修商发生变化
        /// </summary>
        public bool ChangeMaintainer
        {
            get { return this.m_ChangeMaintainer; }
            set
            {
                this.m_ChangeMaintainer = value;
                RaisePropertyChanged(nameof(this.ChangeMaintainer));
            }
        }
        #endregion
    }
}
