积分分汇界面将判断放到D层后,D层的写法
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
积分分汇界面将判断放到D层后,D层的写法相关推荐
- 代码技巧1.类似于登录、注册界面要判断登录账号是不是空,验证码是否正确等,怎么写比较舒服一点?
类似于登录.注册界面要判断登录账号是不是空,验证码是否正确等,怎么写比较舒服一点? case R.id.btn_get_verify_code://点击获取验证//业务需求 点击获取验证码的地方加上图 ...
- 分层化网络设计:核心层,汇聚层,接入层
核心层,汇聚层,接入层 分层化网络设计模型可以帮助设计者按层次设计网络结构,并对不同层次赋予特定的功能,为不同层次选择正确的设备和系统.三层网络模型是最常见的分层化网络设计模型,通常划分为接入层.汇聚 ...
- 是男人就下100层【第一层】——高仿微信界面(8)
上一篇<是男人就下100层[第一层]--高仿微信界面(7)>中我们实现了下弹式菜单,这一篇我们来看看如何实现微信中的摇一摇功能. 首先我们来布局我们的摇一摇界面 布局文件如下: <? ...
- 是男人就下100层【第一层】——高仿微信界面(3)
上一篇<是男人就下100层[第一层]--高仿微信界面(2)>中实现了注册登录界面,这一篇来看看具体的登录界面实现,先来看看界面效果. 登录界面布局 <?xml version=&qu ...
- 重做红楼梦的数据分析-判断前80回后40回是否一个人写的
重做红楼梦的数据分析-判断前80回后40回是否一个人写的 红楼梦的数据分析已经有许多人做过,结论也各不相同. 我在知乎上看到两篇帖子: 1. 通过数据挖掘能分析<红楼梦>各回的真伪吗? 2 ...
- pandas使用cut函数基于分位数进行连续值分箱(手动计算分位数)处理后出现NaN值原因及解决
pandas使用cut函数基于分位数进行连续值分箱(手动计算分位数)处理后出现NaN值原因及解决 目录 pandas使用cut函数基于分位数进行连续值分箱(手动计算分位数)处理后出现NaN值原因及解决 ...
- 是男人就下100层【第一层】——高仿微信界面(4)
上一篇<是男人就下100层[第一层]--高仿微信界面(3)>中我们完成了登录,这一篇看完成登录后的一个短暂加载和引导界面. 加载界面: <RelativeLayout xmlns:a ...
- 1886. 判断矩阵经轮转后是否一致
1886. 判断矩阵经轮转后是否一致 给你两个大小为 n x n 的二进制矩阵 mat 和 target .现 以 90 度顺时针轮转 矩阵 mat 中的元素 若干次 ,如果能够使 mat 与 tar ...
- 是男人就下100层【第一层】——高仿微信界面(5)
前面< 是男人就下100层[第一层]--高仿微信界面(4)>中我们已经完成了基本的引导界面和登录界面,这一篇中我们来看看登录后的主界面的布局和内容,来一步一步的完成该界面. 我们先来看看主 ...
最新文章
- CentOS详解top命令各个数据的含义
- KeyError: 报错_python系列学习笔记
- 797B. Odd sum
- 读《探索需求-设计前的质量》有感三
- Spring框架中提取list集合类型属性注入
- eclipse报错: Unhandled event loop exception No more handles
- 一种视频录制时,类似监控视频中加入动态时间标记的装置
- Ubuntu18.04安装TIM、微信
- 优化1——数据库优化面试题
- STM32F103 驱动DS18B20
- 通过WORD精灵在Word中批量添加页码,批量添加或者删除页眉页脚
- edge同步chrome书签_如何通过 iCloud 同步 chromium edge 的书签?
- PLC MODBUS RTU读写IC卡操作
- BIGO前端一面面经
- Linux各运行级别含义,描述Linux运行级别0-6的各自含义
- 交通流量预测数据集解读
- Win10重装win7时一直显示windows启动中,不要慌
- PHP获取客户端真实IP的方法
- 二进制与或非逻辑计算机,深度学习(1):给感知机做准备,谈谈二进制和与或非门。...
- 运维服务流程设计文档