积分分汇界面将判断放到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
在常见的软件开发中,Service 和 DAO(Data Access Object)是常用的架构次。它们分别负责业务逻辑的处理和数据访问的操作。 Service 通常包含了业务逻辑的实现,它处理业务需求、调用 DAO 完成数据操作,并将结果返回给调用方。在 Service 中,可以包含事务管理、数据校验、业务规则验证等逻辑。 DAO 主要负责数据库的访问和操作,它提供了对数据库的增删改查等基本操作接口。DAO一般包含数据库连接、SQL语句的执行和结果集的处理等功能。 关于两者的具体写法,以下是一种常见的实现方式: DAO 写法示例: ```java public interface UserDao { User getUserById(int id); void createUser(User user); void updateUser(User user); void deleteUser(int id); } public class UserDaoImpl implements UserDao { public User getUserById(int id) { // 数据库查询操作 // 返回查询到的 User 对象 } public void createUser(User user) { // 数据库插入操作 } public void updateUser(User user) { // 数据库更新操作 } public void deleteUser(int id) { // 数据库删除操作 } } ``` Service 写法示例: ```java public interface UserService { User getUserById(int id); void createUser(User user); void updateUser(User user); void deleteUser(int id); } public class UserServiceImpl implements UserService { private UserDao userDao; public User getUserById(int id) { // 可以在这里添加业务逻辑的处理 return userDao.getUserById(id); } public void createUser(User user) { // 可以在这里添加业务逻辑的处理 userDao.createUser(user); } public void updateUser(User user) { // 可以在这里添加业务逻辑的处理 userDao.updateUser(user); } public void deleteUser(int id) { // 可以在这里添加业务逻辑的处理 userDao.deleteUser(id); } } ``` 在实际开发中,通常会使用依赖注入(Dependency Injection)等技术将 DAO 注入到 Service 中,实现解耦和模块化的设计。以上只是一种示例写法,具体实现还需要根据项目的需求和技术栈来确定。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值