public ActionResult Detail(int productLevelId) { var modelBookRecordList = Session["BookRecordList"] as List<Eme.Model.Eme.GetBookRecordDetailList_Result>; var modelBookRecordListByProductLevelId = (from a in modelBookRecordList where a.ProductLevelId == productLevelId select a).ToList(); var modelStudentList = (from a in modelBookRecordListByProductLevelId select new { a.ProductLevelId, a.StudentId, a.UCName, a.UEName, a.IsFirst }).Distinct().ToList(); var modelStudentListDetail = new List<StudentModel>(); foreach (var item in modelStudentList) { var model = new StudentModel(); model.StudentId = item.StudentId; model.ProductLevelId = item.ProductLevelId; model.EName = item.UEName; model.CName = item.UCName; model.IsFirst = item.IsFirst; model.StudentBookRecordDetailList = modelBookRecordList.Where(a => a.StudentId == item.StudentId && a.ProductLevelId == item.ProductLevelId).ToList(); modelStudentListDetail.Add(model); } ViewData["ProductLeve"] = ProductBLL.GetProductLevelById(productLevelId); ViewData["TableId"] = productLevelId; return PartialView("_ModalListDetail", modelStudentListDetail); }
/// <summary> /// 作者:Primo /// 时间:2014.04.29 /// 描述:Vip模式窗体展示 /// /// 作者:Primo /// 时间:2015.06.13 /// 描述:改造,提高速度 /// </summary> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <returns></returns> public ActionResult BookRequirementVipModalContenList(int branchId, DateTime startTime, DateTime endTime, bool isVip) { #region 改造注释 // var model = Session["SearchStudentRequirementModelContent"] == null //? new SearchStudentRequirementModel() { } //: Session["SearchStudentRequirementModelContent"] as SearchStudentRequirementModel; // var modelBackUp = new SearchStudentRequirementModel() // { // CurrDate = model.CurrDate, // ProductLevel = model.ProductLevel, // BranchId = model.BranchId, // StudentRequirementList = model.StudentRequirementList // }; // var dtSTime = Convert.ToDateTime(startTime); // var dtETime = Convert.ToDateTime(endTime); // var modelContent = model.StudentRequirementList.Where(p => p.BookStartTime >= dtSTime && p.BookStartTime < dtETime && p.Status == CommonHelper.To<int>(StatusType.Active)).ToList(); // //Vip学员 // modelContent = modelContent.Where(a => // a.Student.Contract.Any(b => // b.ContractDetail.Any(c => // c.ContractLevel.Any(d => d.IsCurrent // && d.Status == ConvertEnum.StatusTypeForActive // && c.Product.ProductLevel.Any(e => e.Id == d.ProductLevelId)) // && c.Product.IsVip))).ToList(); // model.StudentRequirementList = modelContent; // Session["SearchStudentRequirementModelContent"] = modelBackUp; // return PartialView("_VipModalList", model); #endregion //获取已经存好的时间提报 var modelList = Session["GetStudentBookRequirementList"] as List<GetBookRequirementList_Result>; //筛选符合条件的学员 var brList = (from a in modelList where a.BranchId == branchId && a.BookStartTime == startTime && a.BookEndTime == endTime && a.IsVip == isVip select new { a.StudentId, a.BookRequirementId, a.ProductLevelCourseTypeCourseId, a.CourseName, a.IsSuccessful, a.BookStartTime, a.BookEndTime }).ToList(); //获取学生的Id var studentList = (from a in brList select a.StudentId).ToList(); //获取这些学员的所有订课退订课记录,获取的都是 var modelBookRecordList = StudyBLL.GetStudentBookRecordList(studentList, isVip); var modelStudentList = (from a in modelBookRecordList select new { a.ProductLevelId, a.StudentId, a.UCName, a.UEName }).Distinct().ToList(); var modelStudentListDetail = new List<StudentModel>(); foreach (var item in modelStudentList) { var model = new StudentModel(); model.StudentId = item.StudentId; model.ProductLevelId = item.ProductLevelId; model.EName = item.UEName; model.CName = item.UCName; var itemChild = brList.FirstOrDefault(a => a.StudentId == item.StudentId); if (itemChild != null) { model.ProductLevelCourseTypeCourseId = itemChild.ProductLevelCourseTypeCourseId; model.BookRequirementId = itemChild.BookRequirementId; model.CourseName = itemChild.CourseName; model.BookStartTime = itemChild.BookStartTime.Value; model.BookEndTime = itemChild.BookEndTime.Value; model.IsSuccessful = itemChild.IsSuccessful.Value; } model.StudentBookRecordDetailList = modelBookRecordList.Where(a => a.StudentId == item.StudentId && a.ProductLevelId == item.ProductLevelId).ToList(); modelStudentListDetail.Add(model); } return PartialView("_VipModalList", modelStudentListDetail); }