using Edu.Common.Enum.Sale;
using System;
using System.Collections.Generic;

namespace Edu.Model.ViewModel.Course
{
    /// <summary>
    /// 客人实体类
    /// </summary>
    [Serializable]
    public class RB_Order_Guest_ViewModel : Model.Entity.Course.RB_Order_Guest
    {
        /// <summary>
        /// 订单学生号
        /// </summary>
        public string OrderGuestIds { get; set; }

        /// <summary>
        /// 订单ids
        /// </summary>
        public string OrderIds { get; set; }

        /// <summary>
        /// 班级ids
        /// </summary>
        public string ClassIds { get; set; }

        /// <summary>
        /// 业务员id
        /// </summary>
        public int EnterID { get; set; }

        /// <summary>
        /// 业务员
        /// </summary>
        public string EnterName { get; set; }
        /// <summary>
        /// 班级名称
        /// </summary>
        public string ClassName { get; set; }

        /// <summary>
        /// 班号
        /// </summary>
        public string ClassNo { get; set; }
        /// <summary>
        /// 老师id
        /// </summary>
        public int Teacher_Id { get; set; }

        /// <summary>
        /// rb_student表的id
        /// </summary>
        public int StudentId { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        public string CourseName { get; set; }

        /// <summary>
        /// 出勤
        /// </summary>
        public int IsCheck { get; set; }

        /// <summary>
        /// 生日
        /// </summary>
        public string BirthDay { get; set; }

        /// <summary>
        /// 学员状态
        /// </summary>
        public string GuestStateStr
        {
            get
            {
                string str = "";
                switch (this.GuestState)
                {
                    case 1: str = "正常"; break;
                    case 2: str = "退学"; break;
                    case 3: str = "申请退学中"; break;
                    case 4: str = "驳回申请"; break;
                    case 5: str = "停课"; break;
                    case 6: str = "停课申请中"; break;
                }
                return str;
            }
        }

        /// <summary>
        /// 合同主键编号
        /// </summary>
        public int ContractId { get; set; }

        /// <summary>
        /// 合同编号
        /// </summary>
        public string ContractNo { get; set; }

        /// <summary>
        /// 合同状态
        /// </summary>
        public int ContractStatus { get; set; }

        /// <summary>
        /// 合同状态字符串
        /// </summary>
        public string ContractStatusStr
        {
            get; set;
        }

        /// <summary>
        /// 课程编号
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 订单类型
        /// </summary>
        public OrderTypeEnum OrderType { get; set; }

        /// <summary>
        /// 开始课时
        /// </summary>
        public int StartClassHours { get; set; }

        /// <summary>
        /// 是否插班报入(1-是)
        /// </summary>
        public int IsChaBan { get; set; }

        /// <summary>
        /// 生效时间
        /// </summary>
        public DateTime EffectTime { get; set; }



        /// <summary>
        /// 停课生效时间
        /// </summary>
        public DateTime? StopClassEffectTime { get; set; }

        /// <summary>
        /// 生效状态(1-正常，2-全部)
        /// </summary>
        public int QEffectStatus { get; set; }

        /// <summary>
        /// 生效状态(0-未生效，1-生效中，2-完成)
        /// </summary>
        public int EffectStatus { get; set; }

        /// <summary>
        /// 生效状态字符串
        /// </summary>
        public string EffectStatusStr
        {
            get
            {
                string str = "";
                if (this.EffectStatus == 0)
                {
                    str = "未生效";
                }
                else if (this.EffectStatus == 1)
                {
                    str = "生效中";
                }
                else if (this.EffectStatus == 2)
                {
                    str = "完成";
                }
                return str;
            }
        }

        /// <summary>
        /// 前置订单编号
        /// </summary>
        public int UpOrderId { get; set; }

        /// <summary>
        /// 总上课次数
        /// </summary>
        public int TotalPlanNum { get; set; }

        /// <summary>
        /// 已上课次数
        /// </summary>
        public int Ranks { get; set; }
        /// 是否续班订单
        /// </summary>
        public int IsRenewOrder { get; set; }

        /// <summary>
        /// 续课订单编号
        /// </summary>
        public int RenewOrderId { get; set; }

        /// <summary>
        /// 老师
        /// </summary>
        public string TeacherName { get; set; }

        /// <summary>
        /// 学校
        /// </summary>
        public string SchoolName { get; set; }
    }
}