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

namespace RDH.Data.Models
{
    [Serializable]
    [DataContract]
    public partial class StorageSpaceItemTransaction : BaseModel//IModel , INotifyPropertyChanged
    {
        private Guid _key;
        private Guid? _itemtransactionkey;
        private Guid? _storagespaceitemkey;
        private Guid? _createby;
        private bool? _flag;
        private DateTime? _clienttime;
        private DateTime? _servertime;
        private string _ext01;
        private string _ext02;
        private string _ext03;
        private string _ext04;
        private string _ext05;
        private string _ext06;
        private string _ext07;
        private string _ext08;
        private string _ext09;
        private string _ext10;
        private Guid? _spisnapshotkey;
        private Guid? _devicekey;
        private Guid? _storagespacekey;
        private Guid? _storagespacesnapshotkey;
        private Guid? _plankey;
        private ItemTransaction _itemtransaction;
        private StorageSpaceItem _storagespaceitem;

        #region Public Properties

        [DataMember]
        public virtual Guid Key
        {
            get { return _key; }
            set
            {
                _key = value;
                OnPropertyChanged("Key");
            }
        }
        [DataMember]
        public virtual Guid? ItemTransactionKey
        {
            get { return _itemtransactionkey; }
            set
            {
                _itemtransactionkey = value;
                OnPropertyChanged("ItemTransactionKey");
            }
        }
        [DataMember]
        public virtual Guid? StorageSpaceItemKey
        {
            get { return _storagespaceitemkey; }
            set
            {
                _storagespaceitemkey = value;
                OnPropertyChanged("StorageSpaceItemKey");
            }
        }
        [DataMember]
        public virtual Guid? CreateBy
        {
            get { return _createby; }
            set
            {
                _createby = value;
                OnPropertyChanged("CreateBy");
            }
        }
        [DataMember]
        public virtual bool? Flag
        {
            get { return _flag; }
            set
            {
                _flag = value;
                OnPropertyChanged("Flag");
            }
        }
        [DataMember]
        public virtual DateTime? ClientTime
        {
            get { return _clienttime; }
            set
            {
                _clienttime = value;
                OnPropertyChanged("ClientTime");
            }
        }
        [DataMember]
        public virtual DateTime? ServerTime
        {
            get { return _servertime; }
            set
            {
                _servertime = value;
                OnPropertyChanged("ServerTime");
            }
        }
        /// <summary>
        /// 获取或设置操作数量
        /// </summary>
        [DataMember]
        public virtual string Ext01
        {
            get { return _ext01; }
            set
            {
                _ext01 = value;
                OnPropertyChanged("Ext01");
            }
        }
        /// <summary>
        /// 获取或设置取用记录对应的退药数量
        /// </summary>
        [DataMember]
        public virtual string Ext02
        {
            get { return _ext02; }
            set
            {
                _ext02 = value;
                OnPropertyChanged("Ext02");
            }
        }
        /// <summary>
        /// 获取或设置取用记录对应的回收数量
        /// </summary>
        [DataMember]
        public virtual string Ext03
        {
            get { return _ext03; }
            set
            {
                _ext03 = value;
                OnPropertyChanged("Ext03");
            }
        }
        /// <summary>
        /// 获取或设置关联的业务id
        /// </summary>
        [DataMember]
        public virtual string Ext04
        {
            get { return _ext04; }
            set
            {
                _ext04 = value;
                OnPropertyChanged("Ext04");
            }
        }
        /// <summary>
        /// 获取或设置记录是否已处理的标识
        /// </summary>
        [DataMember]
        public virtual string Ext05
        {
            get { return _ext05; }
            set
            {
                _ext05 = value;
                OnPropertyChanged("Ext05");
            }
        }
        [DataMember]
        public virtual string Ext06
        {
            get { return _ext06; }
            set
            {
                _ext06 = value;
                OnPropertyChanged("Ext06");
            }
        }
        [DataMember]
        public virtual string Ext07
        {
            get { return _ext07; }
            set
            {
                _ext07 = value;
                OnPropertyChanged("Ext07");
            }
        }
        [DataMember]
        public virtual string Ext08
        {
            get { return _ext08; }
            set
            {
                _ext08 = value;
                OnPropertyChanged("Ext08");
            }
        }
        [DataMember]
        public virtual string Ext09
        {
            get { return _ext09; }
            set
            {
                _ext09 = value;
                OnPropertyChanged("Ext09");
            }
        }
        [DataMember]
        public virtual string Ext10
        {
            get { return _ext10; }
            set
            {
                _ext10 = value;
                OnPropertyChanged("Ext10");
            }
        }
        [DataMember]
        public virtual Guid? SPISnapshotKey
        {
            get { return _spisnapshotkey; }
            set
            {
                _spisnapshotkey = value;
                OnPropertyChanged("SPISnapshotKey");
            }
        }
        [DataMember]
        public virtual Guid? DeviceKey
        {
            get { return _devicekey; }
            set
            {
                _devicekey = value;
                OnPropertyChanged("DeviceKey");
            }
        }
        [DataMember]
        public virtual Guid? StorageSpaceKey
        {
            get { return _storagespacekey; }
            set
            {
                _storagespacekey = value;
                OnPropertyChanged("StorageSpaceKey");
            }
        }
        [DataMember]
        public virtual Guid? StorageSpaceSnapshotKey
        {
            get { return _storagespacesnapshotkey; }
            set
            {
                _storagespacesnapshotkey = value;
                OnPropertyChanged("StorageSpaceSnapshotKey");
            }
        }
        [DataMember]
        public virtual Guid? PlanKey
        {
            get { return _plankey; }
            set
            {
                _plankey = value;
                OnPropertyChanged("PlanKey");
            }
        }
        [DataMember]
        public ItemTransaction ItemTransaction
        {
            get { return _itemtransaction; }
            set
            {
                _itemtransaction = value;
                OnPropertyChanged("ItemTransaction");
            }
        }
        [DataMember]
        public StorageSpaceItem StorageSpaceItem
        {
            get { return _storagespaceitem; }
            set
            {
                _storagespaceitem = value;
                OnPropertyChanged("StorageSpaceItem");
            }
        }
        #endregion
    }
}
