using System;
namespace ChuPiao.Common.Models
{
	/// <summary>
	/// 彩票机配置
	/// </summary>
	[Serializable]
	public class M_MachineConfigEntity : ICloneable
	{
		public M_MachineConfigEntity()
		{}
		#region Model
		private int _c_id;
		private int _c_mid;
        private int _c_printwaittime = 20000;
		private int _c_sendkeyinterval=30;
		private int _c_getdatawaitnum=10;
		private int _c_minbytenum=100;
		private int _c_sendkeymode=1;
		private int _c_sendcommandinterval=300;
		private int _c_changeplayinterval=800;
		private string _c_beforeencashkeys="";
		private string _c_afterencashkeys="";
        private string _c_afterencashkeysnoreturn = "";
		private string _c_updatemoneykeys="";
		private string _c_printtimereportkeys="";
		private string _c_printplaytimereportkeys="";
		private string _c_loginkeys="";
		private string _c_shutdownkeys="";
		private string _c_clearamountkeys="";
		private string _c_refreshmoneykeys="";
		private string _c_refreshbroadcastkeys="";
        private string _c_viewprizekeys = "";
        private string _c_printtestticketkeys = "";
	    private string _c_clearscreensaverkeys = "space";
        private int _c_encashkeyinterval = 300;
	    private int _c_encashinterval = 5000;
	    private int _c_scanenterwaittime = 3000;

        //抓取竞篮对阵的键码
        private string _c_printJlMatchKeys = "";
        /// <summary>
        /// 抓取竞篮对阵的键码
        /// </summary>
        public string C_PrintJlMatchKeys
        {
            set { _c_printJlMatchKeys = value; }
            get { return _c_printJlMatchKeys; }
        }

        //抓取竞足对阵的键码
        private string _c_printJzMatchKeys = "";
        /// <summary>
        /// 抓取竞足对阵的键码
        /// </summary>
        public string C_PrintJzMatchKeys
        {
            set { _c_printJzMatchKeys = value; }
            get { return _c_printJzMatchKeys; }
        }

        //竞彩时段报表
        private string _c_printjctimereportkeys = "";
        /// <summary>
        /// 竞彩时段报表的键码
        /// </summary>
        public string C_PrintJcTimeReportKeys
        {
            set { _c_printjctimereportkeys = value; }
            get { return _c_printjctimereportkeys; }
        }
		/// <summary>
		/// 彩票机配置主键ID
		/// </summary>
		public int C_Id
		{
			set{ _c_id=value;}
			get{return _c_id;}
		}
		/// <summary>
		/// 彩票机主键ID
		/// </summary>
		public int C_Mid
		{
			set{ _c_mid=value;}
			get{return _c_mid;}
        }
        /// <summary>
        /// 出票等待时间
        /// </summary>
        public int C_PrintWaitTime
        {
            set { _c_printwaittime = value; }
            get { return _c_printwaittime; }
        }
		/// <summary>
		/// 发送键码的时间间隔
		/// </summary>
		public int C_SendKeyInterval
		{
			set{ _c_sendkeyinterval=value;}
			get{return _c_sendkeyinterval;}
		}
		/// <summary>
		/// 获取彩票机数据等待次数
		/// </summary>
		public int C_GetDataWaitNum
		{
			set{ _c_getdatawaitnum=value;}
			get{return _c_getdatawaitnum;}
		}
		/// <summary>
		/// 读取的字节数大于该值表示读取完成
		/// </summary>
		public int C_MinByteNum
		{
			set{ _c_minbytenum=value;}
			get{return _c_minbytenum;}
		}
		/// <summary>
		/// 发送键码的模式（0--自动发，1--发送一次，2--发送2次）
		/// </summary>
		public int C_SendKeyMode
		{
			set{ _c_sendkeymode=value;}
			get{return _c_sendkeymode;}
		}
		/// <summary>
		/// 发送彩票机指令的时间间隔
		/// </summary>
		public int C_SendCommandInterval
		{
			set{ _c_sendcommandinterval=value;}
			get{return _c_sendcommandinterval;}
		}
		/// <summary>
		/// 切换彩票机玩法的时间间隔
		/// </summary>
		public int C_ChangePlayInterval
		{
			set{ _c_changeplayinterval=value;}
			get{return _c_changeplayinterval;}
		}
		/// <summary>
		/// 兑奖前发送的键码
		/// </summary>
		public string C_BeforeEncashKeys
		{
			set{ _c_beforeencashkeys=value;}
			get{return _c_beforeencashkeys;}
		}
		/// <summary>
		/// 兑奖后发送的键码
		/// </summary>
		public string C_AfterEncashKeys
		{
			set{ _c_afterencashkeys=value;}
			get{return _c_afterencashkeys;}
		}

        /// <summary>
        /// 二次兑奖后键码
        /// </summary>
        public string C_AfterEncashKeysNoReturn
        {
            set { _c_afterencashkeysnoreturn = value; }
            get { return _c_afterencashkeysnoreturn; }
        }

		/// <summary>
		/// 更新机器额度发送的键码
		/// </summary>
		public string C_UpdateMoneyKeys
		{
			set{ _c_updatemoneykeys=value;}
			get{return _c_updatemoneykeys;}
		}
		/// <summary>
		/// 打印时段报表发送的键码
		/// </summary>
		public string C_PrintTimeReportKeys
		{
			set{ _c_printtimereportkeys=value;}
			get{return _c_printtimereportkeys;}
		}
		/// <summary>
		/// 打印玩法时段报表发送的键码
		/// </summary>
		public string C_PrintPlayTimeReportKeys
		{
			set{ _c_printplaytimereportkeys=value;}
			get{return _c_printplaytimereportkeys;}
		}
		/// <summary>
		/// 登录彩票机发送的键码
		/// </summary>
		public string C_LoginKeys
		{
			set{ _c_loginkeys=value;}
			get{return _c_loginkeys;}
		}
		/// <summary>
		/// 关闭彩票机发送的键码
		/// </summary>
		public string C_ShutdownKeys
		{
			set{ _c_shutdownkeys=value;}
			get{return _c_shutdownkeys;}
		}
		/// <summary>
		/// 清除彩票机合计发送的键码
		/// </summary>
		public string C_ClearAmountKeys
		{
			set{ _c_clearamountkeys=value;}
			get{return _c_clearamountkeys;}
		}
		/// <summary>
		/// 刷新彩票机额度发送的键码
		/// </summary>
		public string C_RefreshMoneyKeys
		{
			set{ _c_refreshmoneykeys=value;}
			get{return _c_refreshmoneykeys;}
		}
		/// <summary>
		/// 刷新彩票机广播信息发送的键码
		/// </summary>
		public string C_RefreshBroadcastKeys
		{
			set{ _c_refreshbroadcastkeys=value;}
			get{return _c_refreshbroadcastkeys;}
		}
		/// <summary>
		/// 查看机器奖金发送的键码
		/// </summary>
		public string C_ViewPrizeKeys
		{
			set{ _c_viewprizekeys=value;}
			get{return _c_viewprizekeys;}
		}
        /// <summary>
        /// 打印测试票发送的键码
        /// </summary>
	    public string C_PrintTestTicketKeys
	    {
	        get { return _c_printtestticketkeys; }
	        set { _c_printtestticketkeys = value; }
	    }
        /// <summary>
        /// 清楚屏保发送的键码
        /// </summary>
	    public string C_ClearScreensaverKeys
	    {
	        get { return _c_clearscreensaverkeys; }
	        set { _c_clearscreensaverkeys = value; }
	    }
        /// <summary>
        /// 兑奖键码间隔
        /// </summary>
	    public int C_EncashKeyInterval
	    {
	        get { return _c_encashkeyinterval; }
            set { _c_encashkeyinterval = value; }
	    }
        /// <summary>
        /// 兑奖间隔
        /// </summary>
	    public int C_EncashInterval
	    {
	        get { return _c_encashinterval; }
	        set { _c_encashinterval = value; }
	    }
        /// <summary>
        /// 扫描确认键等待时间
        /// </summary>
	    public int C_ScanEnterWaitTime
	    {
	        get { return _c_scanenterwaittime; }
	        set { _c_scanenterwaittime = value; }
	    }

	    #endregion Model


        #region ICloneable 成员

        public object Clone()
        {
            return this.MemberwiseClone();
        }

        #endregion

        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return false;
            }
            M_MachineConfigEntity entity = obj as M_MachineConfigEntity;
            if (entity == null)
            {
                return false;
            }
            if (entity._c_id != _c_id || entity._c_mid != _c_mid || entity._c_printwaittime != _c_printwaittime
                || entity._c_sendkeyinterval != _c_sendkeyinterval || entity._c_getdatawaitnum != _c_getdatawaitnum
                || entity._c_minbytenum != _c_minbytenum || entity._c_sendkeymode != _c_sendkeymode
                || entity._c_sendcommandinterval != _c_sendcommandinterval || entity._c_changeplayinterval != _c_changeplayinterval
                || entity._c_beforeencashkeys != _c_beforeencashkeys || entity._c_afterencashkeys != _c_afterencashkeys
                || entity._c_afterencashkeysnoreturn != _c_afterencashkeysnoreturn || entity._c_updatemoneykeys != _c_updatemoneykeys
                || entity._c_printtimereportkeys != _c_printtimereportkeys || entity._c_printplaytimereportkeys != _c_printplaytimereportkeys
                || entity._c_loginkeys != _c_loginkeys || entity._c_shutdownkeys != _c_shutdownkeys || entity._c_clearamountkeys != _c_clearamountkeys
                || entity._c_refreshmoneykeys != _c_refreshmoneykeys || entity._c_refreshbroadcastkeys != _c_refreshbroadcastkeys
                || entity._c_viewprizekeys != _c_viewprizekeys || entity._c_printtestticketkeys != _c_printtestticketkeys
                || entity._c_clearscreensaverkeys != _c_clearscreensaverkeys)
            {
                return false;
            }
            return true;
        }
    }
}

