private void ConvertToModelManage(IDataReader reader, ClassRegisterManage model)
 {
     if (reader["Id"] != DBNull.Value)
         model.Id = Convert.ToInt32(reader["Id"]);
     if (reader["ClassId"] != DBNull.Value)
         model.ClassId = Convert.ToInt32(reader["ClassId"]);
     if (reader["PlanId"] != DBNull.Value)
         model.PlanId = Convert.ToInt32(reader["PlanId"]);
     if (reader["AccountId"] != DBNull.Value)
         model.AccountId = Convert.ToInt32(reader["AccountId"]);
     if (reader["Status"] != DBNull.Value)
         model.Status = Convert.ToInt32(reader["Status"]);
     if (reader["ApplyRemark"] != DBNull.Value)
         model.ApplyRemark = reader["ApplyRemark"].ToString();
     if (reader["BatchCode"] != DBNull.Value)
         model.BatchCode = (Guid)(reader["BatchCode"]);
     if (reader["ManagerId"] != DBNull.Value)
         model.ManagerId = Convert.ToInt32(reader["ManagerId"]);
     if (reader["IsPass"] != DBNull.Value)
         model.IsPass = Convert.ToBoolean(reader["IsPass"]);
     if (reader["CurrentSchedule"] != DBNull.Value)
         model.CurrentSchedule = Convert.ToInt32(reader["CurrentSchedule"]);
     if (reader["TotalSchedule"] != DBNull.Value)
         model.TotalSchedule = Convert.ToInt32(reader["TotalSchedule"]);
     if (reader["ReadingScore"] != DBNull.Value)
         model.ReadingScore = Convert.ToDouble(reader["ReadingScore"]);
     if (reader["DiscussScore"] != DBNull.Value)
         model.DiscussScore = Convert.ToDouble(reader["DiscussScore"]);
     if (reader["HomeWorkScore"] != DBNull.Value)
         model.HomeWorkScore = Convert.ToDouble(reader["HomeWorkScore"]);
     if (reader["TestingScore"] != DBNull.Value)
         model.TestingScore = Convert.ToDouble(reader["TestingScore"]);
     if (reader["ExaminationScore"] != DBNull.Value)
         model.ExaminationScore = Convert.ToDouble(reader["ExaminationScore"]);
     if (reader["CommentScore"] != DBNull.Value)
         model.CommentScore = Convert.ToDouble(reader["CommentScore"]);
     if (reader["OtherScore"] != DBNull.Value)
         model.OtherScore = Convert.ToDouble(reader["OtherScore"]);
     if (reader["TotalScore"] != DBNull.Value)
         model.TotalScore = Convert.ToDouble(reader["TotalScore"]);
     if (reader["Result"] != DBNull.Value)
         model.Result = Convert.ToInt32(reader["Result"]);
     if (reader["ResultCreater"] != DBNull.Value)
         model.ResultCreater = Convert.ToInt32(reader["ResultCreater"]);
     if (reader["Delflag"] != DBNull.Value)
         model.Delflag = Convert.ToBoolean(reader["Delflag"]);
     if (reader["CreateDate"] != DBNull.Value)
         model.CreateDate = Convert.ToDateTime(reader["CreateDate"]);
     if (reader["TrainingId"] != DBNull.Value)
         model.TrainingId = Convert.ToInt32(reader["TrainingId"]);
     if (reader["RealName"] != DBNull.Value)
         model.RealName = reader["RealName"].ToString();
     if (reader["Nickname"] != DBNull.Value)
         model.Nickname = reader["Nickname"].ToString();
     if (reader["UserName"] != DBNull.Value)
         model.UserName = reader["UserName"].ToString();
     if (reader["TeacherNo"] != DBNull.Value)
         model.TeacherNo = reader["TeacherNo"].ToString();
     if (reader["TTitle"] != DBNull.Value)
         model.TTitle = reader["TTitle"].ToString();
     if (reader["CTitle"] != DBNull.Value)
         model.CTitle = reader["CTitle"].ToString();
     if (reader["SignUpStartTime"] != DBNull.Value)
         model.SignUpStartTime = Convert.ToDateTime(reader["SignUpStartTime"].ToString());
     if (reader["SignUpEndTime"] != DBNull.Value)
         model.SignUpEndTime = Convert.ToDateTime(reader["SignUpEndTime"].ToString());
     if (reader["OpenClassFrom"] != DBNull.Value)
         model.OpenClassFrom = Convert.ToDateTime(reader["OpenClassFrom"].ToString());
     if (reader["OpenClassTo"] != DBNull.Value)
         model.OpenClassTo = Convert.ToDateTime(reader["OpenClassTo"].ToString());
     if (reader["CId"] != DBNull.Value)
         model.CId = Convert.ToInt32(reader["CId"]);
     if (reader["People"] != DBNull.Value)
         model.People = Convert.ToInt32(reader["People"]);
     if (reader["LimitPeopleCnt"] != DBNull.Value)
         model.LimitPeopleCnt = Convert.ToInt32(reader["LimitPeopleCnt"]);
 }
        public List<ClassRegisterManage> GetListManage(int pageSize, int pageIndex, string where, string orderBy, out int recordCount)
        {
            if (string.IsNullOrEmpty(orderBy))
                throw new ArgumentNullException();
            StringBuilder s = new StringBuilder();
            s.Append(" (select mcr.*,mbi.RealName,ma.Nickname,ma.UserName,mbi.TeacherNo,td.Title as TTitle,cd.Title as CTitle,cd.SignUpStartTime,cd.SignUpEndTime,cd.Id as CId,cd.People,cd.LimitPeopleCnt ");
            s.Append(" ,cd.OpenClassFrom,cd.OpenClassTo ");
            s.Append("  from Member_ClassRegister mcr left join Member_Account ma on mcr.AccountId=ma.Id  ");
            s.Append(" left join Member_BaseInfo mbi on ma.Id=mbi.AccountId  ");
            s.Append(" left join Class_Detail cd on mcr.ClassId=cd.Id ");
            s.Append(" left join Traning_Detail td on mcr.TrainingId=td.Id ");
            s.Append(" where 1=1 and mcr.Delflag='false' and cd.delflag='false' and td.delflag='false' and td.Status=5 and cd.Status in(3,5,6)");
            if (!string.IsNullOrEmpty(where))
                s.Append(where);
            s.Append(" and mcr.Delflag='false' and ma.Delflag='false'  and cd.Delflag='false' and td.Delflag='false') as tc ");
            StringBuilder sb = new StringBuilder();
            sb.Append("select COUNT(1) from  ");
            sb.Append(s.ToString());

            recordCount = Convert.ToInt32(MSEntLibSqlHelper.ExecuteScalarBySql(sb.ToString()));
            int start = (pageIndex - 1) * pageSize + 1;
            int end = pageIndex * pageSize;
            StringBuilder sql = new StringBuilder();
            sql.Append("select * from (select *,ROW_NUMBER() over (order by " + orderBy + ") as [RowNum] from " + s);

            sql.Append(") as T where [RowNum] between " + start + " and " + end);
            List<ClassRegisterManage> list = new List<ClassRegisterManage>();
            using (IDataReader reader = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql.ToString()))
            {
                while (reader.Read())
                {
                    ClassRegisterManage model = new ClassRegisterManage();
                    ConvertToModelManage(reader, model);
                    list.Add(model);
                }
            }
            return list;
        }