using System;
using ChuPiao.Common.Utils;

namespace ChuPiao.Common.Models
{
    /// <summary>
    /// 期报表
    /// </summary>
    [Serializable]
    public class L_ExpectReportEntity
    {
        public L_ExpectReportEntity(int lotId)
        {
            _lotId = lotId;
        }
        #region Model
        private int _r_id;
        private int _r_source = 0;
        private string _r_expect;
        private DateTime _r_addtime = DateTime.Now;
        private int _r_cancelticket = 0;
        private decimal _r_cancelmoney = 0;
        private int _r_sucticket = 0;
        private decimal _r_sucmoney = 0;
        private int _r_minicashticket = 0;
        private decimal _r_minicashmoney = 0;
        private int _r_bigcashticket = 0;
        private decimal _r_bigcashmoney = 0;
        private decimal _r_taxmoney = 0;
        private int _r_errticket = 0;
        private decimal _r_errmoney = 0;
        private int _r_errcashticket = 0;
        private decimal _r_errcashmoney = 0;
        private string _r_remark = "";
        private int _r_cashticket;
        private decimal _r_cashmoney;
        /// <summary>
        /// 主键ID
        /// </summary>
        public int R_Id
        {
            set { _r_id = value; }
            get { return _r_id; }
        }
        /// <summary>
        /// 来源:100--广天地,500--500万
        /// </summary>
        public int R_Source
        {
            set { _r_source = value; }
            get { return _r_source; }
        }
        /// <summary>
        /// 期号
        /// </summary>
        public string R_Expect
        {
            set { _r_expect = value; }
            get { return _r_expect; }
        }
        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime R_AddTime
        {
            set { _r_addtime = value; }
            get { return _r_addtime; }
        }
        /// <summary>
        /// 取消票数
        /// </summary>
        public int R_CancelTicket
        {
            set { _r_cancelticket = value; }
            get { return _r_cancelticket; }
        }
        /// <summary>
        /// 取消金额
        /// </summary>
        public decimal R_CancelMoney
        {
            set { _r_cancelmoney = value; }
            get { return _r_cancelmoney; }
        }
        /// <summary>
        /// 成功出票票数
        /// </summary>
        public int R_SucTicket
        {
            set { _r_sucticket = value; }
            get { return _r_sucticket; }
        }
        /// <summary>
        /// 成功出票金额
        /// </summary>
        public decimal R_SucMoney
        {
            set { _r_sucmoney = value; }
            get { return _r_sucmoney; }
        }
        /// <summary>
        /// 小奖票数
        /// </summary>
        public int R_MiniCashTicket
        {
            set
            {
                _r_minicashticket = value;
                _r_cashticket = _r_minicashticket + _r_bigcashticket;
            }
            get { return _r_minicashticket; }
        }
        /// <summary>
        /// 小奖金额
        /// </summary>
        public decimal R_MiniCashMoney
        {
            set {
                 _r_minicashmoney = value;
                 _r_cashmoney = _r_minicashmoney + _r_bigcashmoney;
                }
            get { return _r_minicashmoney; }
        }
        /// <summary>
        /// 大奖票数
        /// </summary>
        public int R_BigCashTicket
        {
            set {
                 _r_bigcashticket = value;
                 _r_cashticket = _r_minicashticket + _r_bigcashticket;
                }
            get { return _r_bigcashticket; }
        }
        /// <summary>
        /// 大奖金额
        /// </summary>
        public decimal R_BigCashMoney
        {
            set { 
                 _r_bigcashmoney = value;
                 _r_cashmoney = _r_minicashmoney + _r_bigcashmoney;
                }
            get { return _r_bigcashmoney; }
        }
        /// <summary>
        /// 税金
        /// </summary>
        public decimal R_TaxMoney
        {
            set { _r_taxmoney = value; }
            get { return _r_taxmoney; }
        }
        /// <summary>
        /// 错票个数
        /// </summary>
        public int R_errticket
        {
            set { _r_errticket = value; }
            get { return _r_errticket; }
        }
        /// <summary>
        /// 错票金额
        /// </summary>
        public decimal R_ErrMoney
        {
            set { _r_errmoney = value; }
            get { return _r_errmoney; }
        }
        /// <summary>
        /// 错票中奖个数
        /// </summary>
        public int R_errcashticket
        {
            set { _r_errcashticket = value; }
            get { return _r_errcashticket; }
        }
        /// <summary>
        /// 错票中奖金额
        /// </summary>
        public decimal R_ErrCashMoney
        {
            set { _r_errcashmoney = value; }
            get { return _r_errcashmoney; }
        }
        /// <summary>
        /// 备注
        /// </summary>
        public string R_Remark
        {
            set { _r_remark = value; }
            get { return _r_remark; }
        }
        #endregion Model

        /// <summary>
        /// 总中奖金额
        /// </summary>
        public decimal R_CashMoney
        {
            set { _r_cashmoney = value; }
            get { return _r_cashmoney; }           
        }

        /// <summary>
        /// 总中奖票数
        /// </summary>
        public int R_CashTicket
        {
            set { _r_cashticket = value; }
            get { return _r_cashticket; }          
        }


        #region 扩展属性
        private int _lotId;
        /// <summary>
        /// 彩种ID
        /// </summary>
        public int LotId
        {
            get { return _lotId; }
            set
            {
                _lotId = value;
            }
        }

        /// <summary>
        /// 奖金等级数
        /// </summary>
        private int _prizedLevels;
        public int PrizeLevels
        {
            get
            {
                return _prizedLevels;
            }
        }

        /// <summary>
        /// 存储每个奖级的中奖注数
        /// </summary>
        private int[] _r_getnums;
        //private int _r_getnum01 = 0;
        //private int _r_getnum02 = 0;
        //private int _r_getnum03 = 0;
        public int this[int index]
        {
            get
            {
                return _r_getnums[index];
            }
        }
        /// <summary>
        /// 一等奖注数
        /// </summary>
        public int R_GetNum01
        {
            set { _r_getnums[0] = value; }
            get { return _r_getnums[0]; }
        }
        /// <summary>
        /// 二等奖注数
        /// </summary>
        public int R_GetNum02
        {
            set { _r_getnums[1] = value; }
            get { return _r_getnums[1]; }
        }
        /// <summary>
        /// 三等奖注数
        /// </summary>
        public int R_GetNum03
        {
            set { _r_getnums[2] = value; }
            get { return _r_getnums[2]; }
        }
        /// <summary>
        /// 四等奖注数
        /// </summary>
        public int R_GetNum04
        {
            set { _r_getnums[3] = value; }
            get { return _r_getnums[3]; }
        }
        /// <summary>
        /// 五等奖注数
        /// </summary>
        public int R_GetNum05
        {
            set { _r_getnums[4] = value; }
            get { return _r_getnums[4]; }
        }
        /// <summary>
        /// 六等奖注数
        /// </summary>
        public int R_GetNum06
        {
            set { _r_getnums[5] = value; }
            get { return _r_getnums[5]; }
        }
        /// <summary>
        /// 7等奖注数
        /// </summary>
        public int R_GetNum07
        {
            set { _r_getnums[6] = value; }
            get { return _r_getnums[6]; }
        }
        /// <summary>
        /// 8等奖注数
        /// </summary>
        public int R_GetNum08
        {
            set { _r_getnums[7] = value; }
            get { return _r_getnums[7]; }
        }
        /// <summary>
        /// 9等奖注数
        /// </summary>
        public int R_GetNum09
        {
            set { _r_getnums[8] = value; }
            get { return _r_getnums[8]; }
        }
        /// <summary>
        /// 10等奖注数
        /// </summary>
        public int R_GetNum10
        {
            set { _r_getnums[9] = value; }
            get { return _r_getnums[9]; }
        }
        /// <summary>
        /// 11等奖注数
        /// </summary>
        public int R_GetNum11
        {
            set { _r_getnums[10] = value; }
            get { return _r_getnums[10]; }
        }
        /// <summary>
        /// 12等奖注数
        /// </summary>
        public int R_GetNum12
        {
            set { _r_getnums[11] = value; }
            get { return _r_getnums[11]; }
        }
        /// <summary>
        /// 13等奖注数
        /// </summary>
        public int R_GetNum13
        {
            set { _r_getnums[12] = value; }
            get { return _r_getnums[12]; }
        }
        /// <summary>
        /// 14等奖注数
        /// </summary>
        public int R_GetNum14
        {
            set { _r_getnums[13] = value; }
            get { return _r_getnums[13]; }
        }
        /// <summary>
        /// 15等奖注数
        /// </summary>
        public int R_GetNum15
        {
            set { _r_getnums[14] = value; }
            get { return _r_getnums[14]; }
        }
        /// <summary>
        /// 16等奖注数
        /// </summary>
        public int R_GetNum16
        {
            set { _r_getnums[15] = value; }
            get { return _r_getnums[15]; }
        }
        /// <summary>
        /// 17等奖注数
        /// </summary>
        public int R_GetNum17
        {
            set { _r_getnums[16] = value; }
            get { return _r_getnums[16]; }
        }

        #endregion

        #region 竞彩扩展属性

        private int _r_abbdate = 0;

        /// <summary>
        /// 日期
        /// </summary>
        public int R_AbbDate
        {
            get { return _r_abbdate; }
            set { _r_abbdate = value; }
        }

        private int _r_playtype = 0;
        /// <summary>
        /// 玩法
        /// </summary>
        public int R_PlayType
        {
            get { return _r_playtype; }
            set { _r_playtype = value; }
        }

        private decimal _r_gtdCashMoney;
        /// <summary>
        /// 广天地 中奖金额
        /// </summary>
        public decimal R_GTDCashMoney
        {
            get { return _r_gtdCashMoney; }
            set { _r_gtdCashMoney = value; }
        }

        private int _r_gtdCashTicket;
        /// <summary>
        /// 广天地 中奖票数
        /// </summary>
        public int R_GTDCashTicket
        {
            get { return _r_gtdCashTicket; }
            set { _r_gtdCashTicket = value; }
        }

        #endregion      

        #region 竞彩天报表扩展属性
        private DateTime _r_lastmodified;
        /// <summary>
        /// 最后修改时间
        /// </summary>
        public DateTime R_Lastmodified
        {
            get { return _r_lastmodified; }
            set { _r_lastmodified = value; }
        }
        #endregion

        #region 北单扩展属性
        private int _r_match;
        /// <summary>
        /// 场次
        /// </summary>
        public int R_Match 
        {
            get { return _r_match; }
            set { _r_match = value; }
        }
        #endregion 

        #region 多乐彩failticket(过了截止时间后还没出的票)

        private int _r_failticket;
        /// <summary>
        /// 截止未出的票张数
        /// </summary>
        public int R_FailTicket
        {
            get { return _r_failticket; }
            set { _r_failticket = value; }
        }

        private decimal _r_failmoney;
        /// <summary>
        ///  截止未出的票金额
        /// </summary>
        public decimal R_FailMoney
        {
            get { return _r_failmoney; }
            set { _r_failmoney = value; }
        }

        private int _r_failcashticket;
        /// <summary>
        /// 截止未出的票中奖张数
        /// </summary>
        public int R_FailCashTicket
        {
            get { return _r_failcashticket; }
            set { _r_failcashticket = value; }
        }

        private decimal _r_failcashmoney;
        /// <summary>
        /// 截止未出的票中奖金额
        /// </summary>
        public decimal R_FailCashMoney
        {
            get { return _r_failcashmoney; }
            set { _r_failcashmoney = value; }
        }

        #endregion

        #region 投注接口6004新增各奖级的大奖注数
        /// <summary>
        /// 投注接口6004各奖级大奖注数
        /// </summary>
        private int[] _r_bigcounts;
        public int GetBigCount(int index)
        {
            return _r_bigcounts[index];
        }

        /// <summary>
        /// 一等奖注数
        /// </summary>
        public int R_BigCount01
        {
            set { _r_bigcounts[0] = value; }
            get { return _r_bigcounts[0]; }
        }
        /// <summary>
        /// 二等奖注数
        /// </summary>
        public int R_BigCount02
        {
            set { _r_bigcounts[1] = value; }
            get { return _r_bigcounts[1]; }
        }
        /// <summary>
        /// 三等奖注数
        /// </summary>
        public int R_BigCount03
        {
            set { _r_bigcounts[2] = value; }
            get { return _r_bigcounts[2]; }
        }
        /// <summary>
        /// 四等奖注数
        /// </summary>
        public int R_BigCount04
        {
            set { _r_bigcounts[3] = value; }
            get { return _r_bigcounts[3]; }
        }
        /// <summary>
        /// 五等奖注数
        /// </summary>
        public int R_BigCount05
        {
            set { _r_bigcounts[4] = value; }
            get { return _r_bigcounts[4]; }
        }
        /// <summary>
        /// 六等奖注数
        /// </summary>
        public int R_BigCount06
        {
            set { _r_bigcounts[5] = value; }
            get { return _r_bigcounts[5]; }
        }
        /// <summary>
        /// 7等奖注数
        /// </summary>
        public int R_BigCount07
        {
            set { _r_bigcounts[6] = value; }
            get { return _r_bigcounts[6]; }
        }
        /// <summary>
        /// 8等奖注数
        /// </summary>
        public int R_BigCount08
        {
            set { _r_bigcounts[7] = value; }
            get { return _r_bigcounts[7]; }
        }
        /// <summary>
        /// 9等奖注数
        /// </summary>
        public int R_BigCount09
        {
            set { _r_bigcounts[8] = value; }
            get { return _r_bigcounts[8]; }
        }
        /// <summary>
        /// 10等奖注数
        /// </summary>
        public int R_BigCount10
        {
            set { _r_bigcounts[9] = value; }
            get { return _r_bigcounts[9]; }
        }
        /// <summary>
        /// 11等奖注数
        /// </summary>
        public int R_BigCount11
        {
            set { _r_bigcounts[10] = value; }
            get { return _r_bigcounts[10]; }
        }
        /// <summary>
        /// 12等奖注数
        /// </summary>
        public int R_BigCount12
        {
            set { _r_bigcounts[11] = value; }
            get { return _r_bigcounts[11]; }
        }
        /// <summary>
        /// 13等奖注数
        /// </summary>
        public int R_BigCount13
        {
            set { _r_bigcounts[12] = value; }
            get { return _r_bigcounts[12]; }
        }
        /// <summary>
        /// 14等奖注数
        /// </summary>
        public int R_BigCount14
        {
            set { _r_bigcounts[13] = value; }
            get { return _r_bigcounts[13]; }
        }
        /// <summary>
        /// 15等奖注数
        /// </summary>
        public int R_BigCount15
        {
            set { _r_bigcounts[14] = value; }
            get { return _r_bigcounts[14]; }
        }
        /// <summary>
        /// 16等奖注数
        /// </summary>
        public int R_BigCount16
        {
            set { _r_bigcounts[15] = value; }
            get { return _r_bigcounts[15]; }
        }
        /// <summary>
        /// 17等奖注数
        /// </summary>
        public int R_BigCount17
        {
            set { _r_bigcounts[16] = value; }
            get { return _r_bigcounts[16]; }
        }

        #endregion

    }
}