using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Sale;
using Edu.Model.Entity.Course;
using Edu.Model.Entity.Grade;

namespace Edu.Model.ViewModel.Grade
{
    /// <summary>
    /// 班级学员签到视图实体类
    /// </summary>
    public class RB_Class_Check_ViewModel : RB_Class_Check
    {
        /// <summary>
        /// 是否可更新补课数据  1不更新
        /// </summary>
        public int IsUpdateMakeUp { get; set; }

        /// <summary>
        /// 【查询使用】
        /// </summary>
        public string EndDate { get; set; }

        /// <summary>
        ///【查询使用】
        /// </summary>
        public string StartDate { get; set; }

        /// <summary>
        /// 月份
        /// </summary>
        public string MonthDateStr { get; set; }

        /// <summary>
        /// 月份日期
        /// </summary>
        public DateTime? MonthDate
        {
            get
            {
                if (!string.IsNullOrEmpty(this.MonthDateStr))
                {
                    return Convert.ToDateTime(this.MonthDateStr);
                }
                else
                {
                    return null;
                }
            }
        }
        /// <summary>
        /// ids
        /// </summary>
        public string Q_ClassTimeIds { get; set; }
        /// <summary>
        /// ids
        /// </summary>
        public string Q_ClassIds { get; set; }

        /// <summary>
        /// 签到统计
        /// </summary>
        public int CheckNum { get; set; }

        /// <summary>
        /// 上课时间段
        /// </summary>
        public string TimeBucket { get; set; }

        /// <summary>
        /// 合同课时单价
        /// </summary>
        public decimal UnitPrice { get; set; }

        /// <summary>
        /// 订单id
        /// </summary>
        public int OrderId { get; set; }

        /// 学员名称
        /// </summary>
        public string GuestName { get; set; }

        /// <summary>
        /// 学员状态
        /// </summary>
        public int GuestState { 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;
                    case 7: str = "完结"; break;
                    case 8: str = "转班申请中"; break;
                }
                return str;
            }
        }

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

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

        /// <summary>
        /// 校区
        /// </summary>
        public string SName { get; set; }

        /// <summary>
        /// 班级类型
        /// </summary>
        public int ClassType { get; set; }

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

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

        /// <summary>
        /// 教师增加课时费
        /// </summary>
        public decimal BaseHourFee { get; set; }

        /// <summary>
        /// 是否启用基础课时   1是
        /// </summary>
        public int BaseHoursEnabled { get; set; }

        /// <summary>
        /// 启用时间 (存到月)
        /// </summary>
        public string EnableTime { get; set; }

        /// <summary>
        /// 班级课时分钟数
        /// </summary>
        public int ClassHourMinute { get; set; }

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

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

        /// <summary>
        /// 相关老师
        /// </summary>
        public int HelpEnterId { get; set; }

        /// <summary>
        /// 教室名称
        /// </summary>
        public string RoomName { get; set; }

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

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

        /// <summary>
        /// 处理状态字符串
        /// </summary>
        public string MakeUpStatusStr
        {
            get
            {
                string str = "";
                switch (this.MakeUpStatus)
                {
                    case 1:str = "正常";break;
                    case 2: str = "已处理"; break;
                    case 3: str = "未处理"; break;

                }
                return str;
            }
        }
        /// <summary>
        ///上课时间ids
        /// </summary>
        public string ClassTimeIds { get; set; }

        /// <summary>
        /// 订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
        /// </summary>
        public OrderJoinTypeEnum JoinType { get; set; }

        /// <summary>
        /// 原订单报入类型(1-正常报入,2-插班报入,3-续费订单,4-转班订单,5-分拆订单)
        /// </summary>
        public OrderJoinTypeEnum TargetJoinType { get; set; }

        /// <summary>
        /// 原订单编号
        /// </summary>
        public int SourceOrderId { get; set; }

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

        /// <summary>
        /// 目标订单编号
        /// </summary>
        public int TargetOrderId { get; set; }

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

        /// <summary>
        /// 订单学员编号
        /// </summary>
        public string QOrderGuestIds { get; set; }

        /// <summary>
        /// 上课开始时间
        /// </summary>
        public string StartTime { get; set; }

        /// <summary>
        /// 上课结束时间
        /// </summary>
        public string EndTime { get; set; }
    }
}