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

namespace Edu.Model.ViewModel.Sell
{
    /// <summary>
    /// 订单实体类
    /// </summary>
    [Serializable]
    public class RB_Order_ViewModel : RB_Order
    {
        /// <summary>
        /// 订单编号【查询使用】
        /// </summary>
        public string QOrderIds { get; set; }

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

        /// <summary>
        /// 学生Ids（我的客户报名）
        /// </summary>
        public string StuIds { get; set; }

        /// <summary>
        /// 课程课时
        /// </summary>
        public int ClassHours { get; set; }

        /// <summary>
        /// 项目ids
        /// </summary>
        public string SourceIds { get; set; }

        /// <summary>
        /// 讲师名称
        /// </summary>
        public string TeacherName { get; set; }

        /// <summary>
        /// 讲师头像
        /// </summary>
        public string TeacherHead { get; set; }

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

        /// <summary>
        /// 班号
        /// </summary>
        public string ClassNo { get; set; }

        /// <summary>
        /// 班级所属学校
        /// </summary>
        public int ClassSchoolId { get; set; }

        /// <summary>
        /// 客人名称
        /// </summary>
        public string GuestName { get; set; }

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

        /// <summary>
        /// 部门名称
        /// </summary>
        public string DeptName { get; set; }

        /// <summary>
        /// 校区名称
        /// </summary>
        public string SchoolName { get; set; }

        /// <summary>
        /// 订单查询状态  1正常  2取消
        /// </summary>
        public int Q_OrderState { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Q_OrderBy { get; set; }

        /// <summary>
        /// 只看未收齐订单  1是
        /// </summary>
        public int Q_NotCollect { get; set; }

        /// <summary>
        /// 生效日期
        /// </summary>
        public string Q_EffectTime { get; set; }

        /// <summary>
        /// 销售备注
        /// </summary>
        public List<RB_Order_Remark_ViewModel> SaleRemarkList { get; set; }
        /// <summary>
        /// 教务备注
        /// </summary>
        public List<RB_Order_Remark_ViewModel> TeacherRemarkList { get; set; }
        /// <summary>
        /// 校长备注
        /// </summary>
        public List<RB_Order_Remark_ViewModel> RectorRemarkList { get; set; }
        /// <summary>
        /// 经理备注
        /// </summary>
        public List<RB_Order_Remark_ViewModel> DirectorRemarkList { get; set; }
        /// <summary>
        /// 客人列表
        /// </summary>
        public List<RB_Order_Guest_ViewModel> GuestList { get; set; }

        /// <summary>
        /// 合同列表
        /// </summary>
        public List<RB_Education_Contract_ViewModel> ContractList { get; set; }

        /// <summary>
        /// 报名开始时间
        /// </summary>
        public string StartTime { get; set; }
        /// <summary>
        /// 报名结束时间
        /// </summary>
        public string EndTime { get; set; }
        /// <summary>
        /// 开班开始时间
        /// </summary>
        public string OPStartTime { get; set; }
        /// <summary>
        /// 开班结束时间
        /// </summary>
        public string OPEndTime { get; set; }

        /// <summary>
        /// 确认开始时间
        /// </summary>
        public string ConfirmSTime { get; set; }

        /// <summary>
        /// 确认结束时间
        /// </summary>
        public string ConfirmETime { get; set; }

        /// <summary>
        /// 未收款
        /// </summary>
        public decimal DueInMoney { get; set; }

        /// <summary>
        /// 取消人数
        /// </summary>
        public int CancelNum { get; set; }

        /// <summary>
        /// 结课数量
        /// </summary>
        public int JKNum { get; set; }

        /// <summary>
        /// 已上课金额(学生)
        /// </summary>
        public decimal YSKMoney { get; set; }

        /// <summary>
        /// 留学就业产品名称
        /// </summary>
        public string StudyName { get; set; }

        /// <summary>
        /// 协助人员姓名
        /// </summary>
        public string HelpEnterName { get; set; }

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

        /// <summary>
        /// 课程封面图
        /// </summary>
        public string CourseImg { get; set; }

        /// <summary>
        /// 开班时间
        /// </summary>
        public DateTime OpenTime { 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 OldGuestId { get; set; }

        /// <summary>
        /// 新订单学员的新总课时
        /// </summary>
        public int NewGuestTotalClassHours { get; set; }

        /// <summary>
        /// 学员编号【转班生成财务单据使用】
        /// </summary>
        public int NewGuestId { get; set; }

        /// <summary>
        /// 原班级名称
        /// </summary>
        public string SourceClassName { get; set; }

        /// <summary>
        /// 目标班级名称
        /// </summary>
        public string TargetClassName { get; set; }

        /// <summary>
        /// 订单拆分列表
        /// </summary>
        public List<RB_Order_SplitDetails_ViewModel> SplitDetailsList { get; set; }

        /// <summary>
        /// 所属科目
        /// </summary>
        public int CourseSubject { get; set; }

        /// <summary>
        /// 科目名称
        /// </summary>
        public string CourseSubjectName { get; set; }

        /// <summary>
        /// 班级开班状态
        /// </summary>
        public ClassStatusEnum ClassStatus { get; set; }

        /// <summary>
        /// 学生表_学员编号
        /// </summary>
        public int Q_StudentId { get; set; }

        /// <summary>
        /// 课程封面背景颜色
        /// </summary>
        public string B2BBackground { get; set; }

        /// <summary>
        /// 课程图标
        /// </summary>
        public string B2BIcon { get; set; }

        /// <summary>
        /// 预计正常返佣
        /// </summary>
        public decimal NormalCommission { get; set; }

        /// <summary>
        /// 预计续费返佣
        /// </summary>
        public decimal RenewCommission { get; set; }

        /// <summary>
        /// 同行名称
        /// </summary>
        public string CustomerName { get; set; }

        /// <summary>
        /// 同行电话
        /// </summary>
        public string CustomerTel { get; set; }

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

        /// <summary>
        /// 订单条数
        /// </summary>
        public int OrderCount { get; set; }

        /// <summary>
        /// 开班类型   1正常班   2滚动班
        /// </summary>
        public int ClassScrollType { get; set; }

        /// <summary>
        /// 业绩应发提成
        /// </summary>
        public decimal YFCommission { get; set; }

        /// 客户来源见枚举(学生)
        /// </summary>
        public StuCreateTypeEnum CreateType { get; set; }

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

        /// <summary>
        /// 同业编号
        /// </summary>
        public int CategoryId { get; set; }

    }
}