public ActionResult Approve() { var vm = new Models.ElectiveApply.List(); using (var db = new XkSystem.Models.DbContext()) { var tb = (from p in db.Table <Entity.tbElectiveApply>() select p); if (!string.IsNullOrWhiteSpace(vm.SearchText)) { tb = tb.Where(p => p.tbCourse.CourseName.Contains(vm.SearchText) || p.tbElective.ElectiveName.Contains(vm.SearchText)); } if (vm.ElectiveId > 0) { tb = tb.Where(p => p.tbElective.Id == vm.ElectiveId); } vm.ElectiveApplyList = (from p in tb orderby p.No select new Dto.ElectiveApply.List() { Id = p.Id, ElectiveName = p.tbElective.ElectiveName, CourseName = p.tbCourse.CourseName, InputTime = p.InputTime, Hour = p.Hour, Point = p.tbCourse.Point, CheckStatus = p.CheckStatus, CheckOpinion = p.CheckOpinion, MaxStudent = p.MaxStudent, RoomName = p.tbRoom.RoomName, UserName = p.tbSysUser.UserName, IsMultiClass = p.IsMultiClass //ElectiveApplyFileList = db.Set<Entity.tbElectiveApplyFile>().Where(c => c.tbElectiveApply.Id == p.Id).Select(c => new Dto.ElectiveApplyFile.List() //{ // FileName = c.FileName, // FileTitle = c.FileTitle //}).ToList(), //ElectiveApplyScheduleList = db.Set<Entity.tbElectiveApplySchedule>().Where(c => c.tbElectiveApply.Id == p.Id).Select(c => new Dto.ElectiveApplySchedule.List() //{ // WeekId = c.tbWeek.Id, // WeekName = c.tbWeek.WeekName, // PeriodId = c.tbPeriod.Id, // PeriodName = c.tbPeriod.PeriodName //}).ToList(), }).ToPageList(vm.Page); vm.ElectiveList = ElectiveController.SelectList(); vm.ElectiveList.Insert(0, new SelectListItem() { Text = "全部", Value = "0" }); } return(View(vm)); }
public ActionResult EditFirstStep(int id = 0) { var vm = new Models.ElectiveApply.FirstStepEdit(); using (var db = new XkSystem.Models.DbContext()) { vm.ElectiveList = ElectiveController.SelectList(); if (vm.ElectiveId == 0 && vm.ElectiveList != null && vm.ElectiveList.Count > 0) { vm.ElectiveId = vm.ElectiveList[0].Value.ConvertToInt(); } if (!string.IsNullOrWhiteSpace(vm.SearchText)) { var tb = (from p in db.Table <Course.Entity.tbCourse>() where p.CourseName.Contains(vm.SearchText) || p.CourseNameEn.Contains(vm.SearchText) select p); vm.CourseList = (from p in tb join e in db.Table <Entity.tbElectiveSubject>() on p.tbSubject.Id equals e.tbSubject.Id where e.tbElective.Id == vm.ElectiveId select new Course.Dto.Course.List() { Id = p.Id, CourseCode = p.CourseCode, CourseName = p.CourseName, CourseDomainName = p.tbCourseDomain.CourseDomainName, CourseNameEn = p.CourseNameEn, Hour = p.Hour, Point = p.Point, CourseTypeName = p.tbCourseType.CourseTypeName, SubjectName = p.tbSubject.SubjectName, CourseGroupName = p.tbCourseGroup.CourseGroupName }).ToList(); } } return(View(vm)); }
public ActionResult List() { if (Code.Common.UserType != Code.EnumHelper.SysUserType.Administrator && Code.Common.UserType != Code.EnumHelper.SysUserType.Teacher) { return(Content(Code.Common.Redirect(Url.Action("Index", "SysIndex", new { area = "Sys" }), "当前身份类别无法访问该功能!"))); } using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.ElectiveChange.List(); vm.ElectiveList = ElectiveController.SelectList(); if (vm.ElectiveId == 0 && vm.ElectiveList.Count() > 0) { vm.ElectiveId = vm.ElectiveList.FirstOrDefault().Value.ConvertToInt(); } vm.IsWeekPeriod = (from p in db.Table <Entity.tbElective>() where p.Id == vm.ElectiveId select p.tbElectiveType.ElectiveTypeCode).FirstOrDefault() == Code.EnumHelper.ElectiveType.WeekPeriod; //var classList = (from p in db.Table<Basis.Entity.tbClassStudent>() // where p.tbClass.tbYear.IsDefault // && p.tbClass.IsDeleted == false // && p.tbClass.tbYear.IsDeleted == false // select new // { // StudentId = p.tbStudent.Id, // p.tbClass.ClassName // }).ToList(); var tb = from p in db.Table <Entity.tbElectiveData>() join c in db.Table <Basis.Entity.tbClassStudent>() on p.tbStudent.Id equals c.tbStudent.Id where p.tbElectiveOrg.tbElective.Id == vm.ElectiveId && c.tbClass.tbYear.IsDefault && p.tbElectiveOrg.IsDeleted == false && p.tbElectiveOrg.tbCourse.IsDeleted == false && p.tbElectiveOrg.tbElectiveGroup.IsDeleted == false && p.tbElectiveOrg.tbElectiveSection.IsDeleted == false && p.tbStudent.IsDeleted == false select new { tbElectiveData = p, tbClass = c.tbClass }; if (string.IsNullOrEmpty(vm.SearchText) == false) { tb = tb.Where(d => d.tbElectiveData.tbElectiveOrg.OrgName.Contains(vm.SearchText) || d.tbElectiveData.tbStudent.StudentCode.Contains(vm.SearchText) || d.tbElectiveData.tbStudent.StudentName.Contains(vm.SearchText)); } vm.ElectiveChangeList = (from p in tb orderby p.tbElectiveData.InputDate descending select new Dto.ElectiveChange.List() { ElectiveDataId = p.tbElectiveData.Id, ElectiveOrgId = p.tbElectiveData.tbElectiveOrg.Id, OrgName = p.tbElectiveData.tbElectiveOrg.OrgName, TeacherName = p.tbElectiveData.tbElectiveOrg.tbTeacher.TeacherName, RoomName = p.tbElectiveData.tbElectiveOrg.tbRoom.RoomName, RemainCount = p.tbElectiveData.tbElectiveOrg.RemainCount, ElectiveSectionName = p.tbElectiveData.tbElectiveOrg.tbElectiveSection.ElectiveSectionName, ElectiveGroupName = p.tbElectiveData.tbElectiveOrg.tbElectiveGroup.ElectiveGroupName, InputDate = p.tbElectiveData.InputDate, StudentId = p.tbElectiveData.tbStudent.Id, StudentUserId = p.tbElectiveData.tbStudent.tbSysUser.Id, StudentCode = p.tbElectiveData.tbStudent.StudentCode, StudentName = p.tbElectiveData.tbStudent.StudentName, IsPreElective = p.tbElectiveData.IsPreElective, MaxCount = p.tbElectiveData.tbElectiveOrg.MaxCount, ClassName = p.tbClass.ClassName }).ToPageList(vm.Page); //foreach (var a in vm.ElectiveChangeList) //{ // a.ClassName = classList.Where(c => c.StudentId == a.StudentId).Select(c => c.ClassName).FirstOrDefault(); //} if (vm.IsWeekPeriod) { vm.IsHiddenSection = true; vm.IsHiddenGroup = true; if (vm.IsWeekPeriod) { var orgIds = vm.ElectiveChangeList.Select(p => p.ElectiveOrgId); var electiveOrgSchedule = (from p in db.Table <Entity.tbElectiveOrgSchedule>().Include(p => p.tbElectiveOrg).Include(p => p.tbWeek).Include(p => p.tbPeriod) where orgIds.Contains(p.tbElectiveOrg.Id) select p).ToList(); vm.ElectiveChangeList.ForEach(p => { var weekPeriodName = new List <string>(); electiveOrgSchedule.ForEach(c => { if (p.ElectiveOrgId == c.tbElectiveOrg.Id) { weekPeriodName.Add($"{c.tbWeek?.WeekName}{c.tbPeriod?.PeriodName}"); } }); p.WeekPeriod = string.Join(",", weekPeriodName); }); } } else { vm.IsHiddenSection = vm.ElectiveChangeList.Select(d => d.ElectiveSectionName).Distinct().Count() <= 1; vm.IsHiddenGroup = vm.ElectiveChangeList.Select(d => d.ElectiveGroupName).Distinct().Count() <= 1; } return(View(vm)); } }
public ActionResult Edit(int id = 0, int courseId = 0, int electiveId = 0) { var vm = new Models.ElectiveApply.Edit(); using (var db = new XkSystem.Models.DbContext()) { if (id == 0) { //vm.CourseList = Course.Controllers.CourseController.SelectList(); } else { var tb = (from p in db.Table <Entity.tbElectiveApply>() where p.Id == id select new Dto.ElectiveApply.Edit() { Id = p.Id, ElectiveId = p.tbElective.Id, CourseId = p.tbCourse.Id, Hour = p.Hour, Point = p.tbCourse.Point, TeachPlan = p.TeachPlan, StudyTarger = p.StudyTarger, MaxStudent = p.MaxStudent, RoomId = p.tbRoom.Id, SubjectId = p.tbCourse.tbSubject.Id, TeacherId = p.tbSysUser.Id, CheckOpinion = p.CheckOpinion, CheckStatus = p.CheckStatus, tbElectiveApplySchedule = db.Set <Entity.tbElectiveApplySchedule>().Where(c => c.tbElectiveApply.Id == p.Id).Select(c => new Dto.ElectiveApplySchedule.List() { WeekId = c.tbWeek.Id, WeekName = c.tbWeek.WeekName, PeriodId = c.tbPeriod.Id, PeriodName = c.tbPeriod.PeriodName }).ToList(), tbElectiveApplyFile = db.Set <Entity.tbElectiveApplyFile>().Where(c => c.tbElectiveApply.Id == p.Id).Select(c => new Dto.ElectiveApplyFile.List() { FileName = c.FileName, FileTitle = c.FileTitle }).ToList() }).FirstOrDefault(); vm.ElectiveApplyEdit = tb; courseId = courseId == 0 ? tb.CourseId : courseId; electiveId = electiveId == 0 ? tb.ElectiveId : electiveId; } vm.ElectiveApplyEdit.CourseId = courseId; vm.ElectiveApplyEdit.ElectiveId = electiveId; if (courseId > 0 && electiveId > 0) { var tbCourse = (from p in db.Table <Course.Entity.tbCourse>() where p.Id == courseId select new { SubjectId = p.tbSubject.Id, SubjectName = p.tbSubject.SubjectName, CourseId = p.Id, CourseName = p.CourseName, Hour = p.Hour, Point = p.Point }).FirstOrDefault(); vm.ElectiveApplyEdit.SubjectId = tbCourse.SubjectId; //vm.CourseList = new List<SelectListItem>() { // new SelectListItem() { Text=tbCourse.CourseName,Value=tbCourse.CourseId.ConvertToString() } //}; //vm.CourseSubject = new List<SelectListItem>() { // new SelectListItem() { Text=tbCourse.SubjectName,Value=tbCourse.SubjectId.ToString() } //}; vm.ElectiveApplyEdit.Hour = tbCourse.Hour; vm.ElectiveApplyEdit.Point = tbCourse.Point; var tbElective = (from p in db.Table <Entity.tbElective>() where p.Id == vm.ElectiveApplyEdit.ElectiveId select new { Id = p.Id, Name = p.ElectiveName, ElectiveType = p.tbElectiveType.ElectiveTypeCode }).FirstOrDefault(); if (tbElective == null) { return(Code.MvcHelper.Post(new List <string>() { Resources.LocalizedText.MsgNotFound })); } //vm.ElectiveList = new List<SelectListItem>() { new SelectListItem() { Value = tbElective.Id.ToString(), Text = tbElective.Name } }; vm.IsWeekPeriod = tbElective.ElectiveType == Code.EnumHelper.ElectiveType.WeekPeriod; } else { //electiveId = vm.ElectiveList[0].Value.ConvertToInt(); } vm.ElectiveList = ElectiveController.SelectList(); vm.RoomList = Basis.Controllers.RoomController.SelectList(); vm.CourseSubject = ElectiveSubjectController.SelectSubjectList(electiveId); vm.CourseList = Course.Controllers.CourseController.SelectList(vm.ElectiveApplyEdit.SubjectId > 0 ? vm.ElectiveApplyEdit.SubjectId : vm.CourseSubject[0].Value.ConvertToInt()); //if (vm.IsWeekPeriod) //{ vm.PeriodList = Basis.Controllers.PeriodController.SelectList(); vm.WeekList = Basis.Controllers.WeekController.SelectList(); //} } return(View(vm)); }