ClassifiySumBLL中B层方法调用:
//return classifyModel = UserDal.RequestForClassifiySum( TableEntity , CheckerGradeID ,LoginScoreItem, pageIndex, pageSize , out total);
#region +RequestForClassifiySum +分类汇总 根据 条件 多表查询将判断放到D层的方法,注释掉了+马金兴+2017年4月18日22:21:06
/ <summary>/ List<ClassifiySumModel>根据LevelID多表查询分类汇总所需的信息
/ </summary>
/ <param name="TableEntity">界面上传来的查询信息集合</param>
/ <param name="CheckerGradeID">查询者所在班级的ID</param>
/ <param name="pageIndex">分页的起始</param>
/ <param name="pageSize">页的大小</param>
/ <param name="total">一共多少条数据</param>
/ <returns></returns>
//public List<ClassifiySumModel> RequestForClassifiySum(ClassifiySumModel TableEntity, string CheckerGradeID, string LoginScoreItem, int pageIndex, int pageSize, out int total)
//{
// #region 参数设定,及model中关键字段的解释
// List<ClassifiySumModel> ListClassifiyModel = new List<ClassifiySumModel>();
// List<ClassifiySumModel> RealListClassifiyModel = new List<ClassifiySumModel>();
// DateTime start = DateTime.Parse(TableEntity.StartDate);
// DateTime end = DateTime.Parse(TableEntity.EndDate);
// //TableEntity.levelID 前台传来的levelID,即登录者的级别,某每一个角色都有
// //TableEntity.GradeID 班级ID,管理者班级ID不从session中取,所以CheckerGradeID为空
// //TableEntity.ScoreItem 想要看到哪种类型的得分项,CEO和管理者session中都没有得分项
// #endregion
// //可以用职责链模式,目前只是简单if判断 ,可以把判断放到B层
// //如果放到B层需要多次查询数据库
// //因为涉及情况比较多所以判断就比较多
// #region 利用 时间 进行基本查询,无论何种基本都需要以此为基础
// ListClassifiyModel = (from u in dbcontext.t_user
// join m in dbcontext.t_mcoin on u.userID equals m.userID
// join g in dbcontext.t_grade on u.gradeID equals g.gradeID
// join d in dbcontext.t_mcoindetail on m.recordID equals d.recordID
// join q in dbcontext.t_question on d.quesID equals q.quesID
// join t in dbcontext.t_questype on q.quesTypeID equals t.quesTypeID
// where (start <= m.date && m.date <= end)
// select new ClassifiySumModel()
// {
// GradeID = g.gradeID, //班级、期数
// GradeName = g.userGrade,//年级名
// ClassmateName = u.userName,//同学姓名
// ScoreItem = q.quesContent,//表格中显示的得分项
// GetPoint = d.score, //分值
// FillDate = (DateTime)m.date, //填写时间
// ClassmateID = u.userID,//同学ID
// }).OrderBy(p => p.GradeID).ThenBy(p => p.levelID).ThenBy(p => p.ClassmateID).ThenBy(p => p.FillDate).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
// #endregion
// RealListClassifiyModel = ListClassifiyModel;//方便返回信息
// #region 分角色进行linq查询
// //session中班级ID为空,则为管理员,值从model中取
// if (CheckerGradeID == "" && CheckerGradeID == null)
// {
// //当前为管理员,进入管理员的方法中进行筛选
// RealListClassifiyModel = ManagerRequestForClassifiySum(ListClassifiyModel, TableEntity,pageIndex, pageSize);
// }
// else
// {
// //CEO :得分项的session值为空
// if (LoginScoreItem == "" && LoginScoreItem == null)
// {
// List<ClassifiySumModel> TempList = new List<ClassifiySumModel>();
// TempList = (from a in ListClassifiyModel where (a.GradeID.Contains(CheckerGradeID)) select a).OrderBy(p => p.GradeID).ThenBy(p => p.levelID).ThenBy(p => p.ClassmateID).ThenBy(p => p.FillDate).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
// RealListClassifiyModel= CEORequestForClassifiySum(TempList, TableEntity,pageIndex, pageSize);
// }else {
// //委员:session 中 班级ID 和 得分项 固定
// List<ClassifiySumModel> TempList = new List<ClassifiySumModel>();
// TempList = (from a in ListClassifiyModel where (a.GradeID.Contains(CheckerGradeID) && a.ScoreItem.Contains(LoginScoreItem)) select a).OrderBy(p => p.GradeID).ThenBy(p => p.levelID).ThenBy(p => p.ClassmateID).ThenBy(p => p.FillDate).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
// RealListClassifiyModel = RequestForClassifiySum(TempList, TableEntity, pageIndex, pageSize);
// }
// }
// #endregion
// #region 分页,统一返回
// total = RealListClassifiyModel.Count;//返回序列中的元素数量
// return RealListClassifiyModel;
// #endregion
//}
#endregion