using System;
using System.Collections.Generic;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.Entity.Sell;

namespace Edu.Model.ViewModel.Sell
{
    /// <summary>
    /// 学员名单扩展表
    /// </summary>
    public class RB_Order_Guest_Extend : RB_Order_Guest
    {
        /// <summary>
        /// 合同编号
        /// </summary>
        public string ContractNo { get; set; }

        /// <summary>
        /// 合同id
        /// </summary>
        public int ContractId { get; set; }

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

        /// <summary>
        /// 课程名称
        /// </summary>
        public string CourseName { 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>
        /// 老师名称
        /// </summary>
        public string TeacherName { get; set; }

        /// <summary>
        ///下单时间
        /// </summary>
        public DateTime? OrderTime { get; set; }

        /// <summary>
        ///结束下单时间
        /// </summary>
        public DateTime? EndOrderTime { get; set; }

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

        /// <summary>
        /// 业务员
        /// </summary>
        public string EnterName { get; set; }

        /// <summary>
        /// 应收金额
        /// </summary>
        public decimal PreferPrice { get; set; }

        /// <summary>
        /// 实收金额
        /// </summary>
        public decimal Income { get; set; }
        /// <summary>
        /// 退款金额
        /// </summary>
        public decimal Refund { get; set; }
        /// <summary>
        /// 平台税金
        /// </summary>
        public decimal PlatformTax { get; set; }

        /// <summary>
        /// 剩余课时
        /// </summary>
        public int SurplusHours { get; set; }

        /// <summary>
        /// 缺勤次数
        /// </summary>
        public int AbsenceNum { get; set; }


        /// <summary>
        /// 请假次数
        /// </summary>
        public int LeaveNum { get; set; }

        /// <summary>
        /// 事件数
        /// </summary>
        public int EventlogNum { get; set; }

        /// <summary>
        /// 是否生效 (查询对应：（0-全部 1-未生效，2-正常，3-休学，4-完课）) （生效状态(0-未生效，1-生效中，2-完成)）
        /// </summary>
        public int? EffectStatus { get; set; }

        /// <summary>
        /// 订单报入类型（查询的时候0-全部1-正常报入，2-插班报入，3-续费订单，4-转班订单，5-分拆订单）
        /// </summary>
        public int JoinType { get; set; }

        /// <summary>
        /// 学生id（rb_student 表中的id）
        /// </summary>
        public int Student_Id { get; set; }

        /// <summary>
        /// 预警类型（0-全部，1-不足5课时，）
        /// </summary>
        public Common.Enum.Course.GuestClassHoursEarlyWarningEnum EarlyWarning { get; set; }

        /// <summary>
        /// 学员状态
        /// </summary>
        public string GuestStateStr
        {
            get
            {
                return this.GuestState.ToName();
            }
        }

        /// <summary>
        /// 学员状态
        /// </summary>
        public string JoinTypeStr
        {
            get
            {
                string str = "";
                switch (this.JoinType)
                {
                    case 1: str = "正常报入"; break;
                    case 2: str = "插班报入"; break;
                    case 3: str = "续费订单"; break;
                    case 4: str = "转班订单"; break;
                    case 5: str = "分拆订单"; break;
                }
                return str;
            }
        }

        /// <summary>
        /// 课程等级
        /// </summary>
        public CourseRateEnum CourseRate { get; set; }

        /// <summary>
        /// 学员手机号码【显示135****6755】
        /// </summary>
        public string StuTel { get; set; }

        /// <summary>
        /// 学员真实手机号码【13551126755】
        /// </summary>
        public string StuRealMobile { get; set; }

        /// <summary>
        /// 学员渠道ID
        /// </summary>
        public int StuChannelId { get; set; }

        /// <summary>
        /// 学员渠道
        /// </summary>
        public string StuChannelName { get; set; }

        /// <summary>
        /// 来源人编号
        /// </summary>
        public int StuSourceId { get; set; }

        /// <summary>
        /// 客户来源见枚举
        /// </summary>
        public Common.Enum.User.StuCreateTypeEnum CreateType { get; set; }

        /// <summary>
        /// 对应学生ID
        /// </summary>
        public int StuId { get; set; }

        /// <summary>
        /// 对应学生负责人
        /// </summary>
        public int StuCreateBy { get; set; }

        /// <summary>
        /// 学员协助列表
        /// </summary>
        public List<Customer.RB_Student_Assist_Extend> AssistList { get; set; }

        /// <summary>
        /// 来源人
        /// </summary>
        public string StuSourceIdName { get; set; }

        /// <summary>
        /// 同业企业
        /// </summary>
        public string EnterpriseName { get; set; }

        /// <summary>
        /// 学员负责人
        /// </summary>
        public string StuCreateByName { get; set; }
    }
}
