using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
namespace PunkHPX8_MainPages.Model
{
    [DataContract]
    public class WaferHolderBufferData : BindableBase
    {
        private string _enabled;
        private string _waferHolderId;
        private string _waferSize;
        private string _crsType;
        private string _chemistry;
        private string _crsAId;
        private string _crsATotalUses;
        private string _crsAUsesSincePadClean;
        private string _crsAUsesSinceSealClean;
        private string _crsBId;
        private string _crsBTotalUses;
        private string _crsBUsesSincePadClean;
        private string _crsBUsesSinceSealClean;
        private string _totalUses;
        private string _totalDummyWafers;
        private string _totalProductWafers;
        private string _currentLocation;
        [DataMember]
        public Int32 Id { get; set; }
        [DataMember]
        public string WaferHolderId 
        { 
            get { return _waferHolderId; }
            set 
            { 
                SetProperty(ref _waferHolderId, value);
            }
        }
        /// 
        /// 类型
        /// 
        [DataMember]
        public string CrsType { get { return _crsType; } set { SetProperty(ref _crsType, value); } }
        /// 
        /// Wafer尺寸
        /// 
        [DataMember]
        public string WaferSize { get { return _waferSize; } set { SetProperty(ref _waferSize, value); } }
        /// 
        /// 可用性
        /// 
        [DataMember]
        public string Enabled   { get { return _enabled; } set {SetProperty(ref _enabled, value);}}
        /// 
        /// 化学用剂
        /// 
        [DataMember]
        public string Chemistry { get { return _chemistry; } set { SetProperty(ref _chemistry, value); } }
        /// 
        /// CRS-A Id
        /// 
        [DataMember]
        public string CrsAId { get { return _crsAId; } set { SetProperty(ref _crsAId, value); } }
        /// 
        /// CRS-A总次数
        /// 
        [DataMember]
        public string CrsATotalUses { get { return _crsATotalUses; } set { SetProperty(ref _crsATotalUses, value); } }
        /// 
        /// CRS-A pad清理后次数
        /// 
        [DataMember]
        public string CrsAUsesSincePadClean { get { return _crsAUsesSincePadClean; } set { SetProperty(ref _crsAUsesSincePadClean, value); } }
        /// 
        /// CRS-A seal清理后次数
        /// 
        [DataMember]
        public string CrsAUsesSinceSealClean { get { return _crsAUsesSinceSealClean; } set { SetProperty(ref _crsAUsesSinceSealClean, value); } }
        /// 
        /// CRS-B Id
        /// 
        [DataMember]
        public string CrsBId { get { return _crsBId; } set { SetProperty(ref _crsBId, value); } }
        /// 
        /// CRS-B总次数
        /// 
        [DataMember]
        public string CrsBTotalUses { get { return _crsBTotalUses; } set { SetProperty(ref _crsBTotalUses, value); } }
        /// 
        /// CRS-B pad清理后次数
        /// 
        [DataMember]
        public string CrsBUsesSincePadClean { get { return _crsBUsesSincePadClean; } set { SetProperty(ref _crsBUsesSincePadClean, value); } }
        /// 
        /// CRS-B seal清理后次数
        /// 
        [DataMember]
        public string CrsBUsesSinceSealClean { get { return _crsBUsesSinceSealClean; } set { SetProperty(ref _crsBUsesSinceSealClean, value); } }
        /// 
        /// 所有使用次数
        /// 
        [DataMember]
        public string TotalUses { get { return _totalUses; } set { SetProperty(ref _totalUses, value); } }
        /// 
        /// 所有生产片使用次数
        ///         
        [DataMember]
        public string TotalProductWafers { get { return _totalProductWafers; } set { SetProperty(ref _totalProductWafers, value); } }
        /// 
        /// Dummy Wafes数量
        /// 
        [DataMember]
        public string TotalDummyWafers { get { return _totalDummyWafers; } set { SetProperty(ref _totalDummyWafers, value); } }
        /// 
        /// 当前位置
        /// 
        [DataMember]
        public string CurrentLocation { get { return _currentLocation; } set { SetProperty(ref _currentLocation, value); } }
        /// 
        /// 克隆
        /// 
        /// 
        public WaferHolderBufferData Clone()
        {
            WaferHolderBufferData data = new WaferHolderBufferData();
            SwitchData(data);
            return data;
        }
        /// 
        /// 交换数据
        /// 
        /// 
        public void SwitchData(WaferHolderBufferData data)
        {
            data.Id = this.Id;
            data.WaferHolderId = this.WaferHolderId;
            data.Chemistry = this.Chemistry;
            data.CrsType = this.CrsType;
            data.WaferSize = this.WaferSize;
            data.TotalUses = this.TotalUses;
            data.TotalProductWafers = this.TotalProductWafers;
            data.TotalDummyWafers = this.TotalDummyWafers;
            data.CrsAId = this.CrsAId;
            data.CrsATotalUses = this.CrsATotalUses;
            data.CrsAUsesSincePadClean = this.CrsBUsesSincePadClean;
            data.CrsAUsesSinceSealClean = this.CrsAUsesSinceSealClean;
            data.CrsBId = this.CrsBId;
            data.CrsBTotalUses = this.CrsBTotalUses;
            data.CrsBUsesSincePadClean = this.CrsBUsesSincePadClean;
            data.CrsBUsesSinceSealClean = this.CrsBUsesSinceSealClean;
            data.Enabled = this.Enabled;
            data.CurrentLocation = this.CurrentLocation;
        }
    }
}