/// <summary> /// 查看课程申报详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Detail(int id = 0) { var vm = new Models.ElectiveApply.Detail(); using (var db = new XkSystem.Models.DbContext()) { if (id > 0) { var tb = (from p in db.Table <Entity.tbElectiveApply>() .Include(p => p.tbCourse) .Include(p => p.tbElective) .Include(p => p.tbRoom) where p.Id == id select new Dto.ElectiveApply.Detail() { Id = p.Id, ElectiveName = p.tbElective.ElectiveName, CourseName = p.tbCourse.CourseName, Hour = p.Hour, Point = p.tbCourse.Point, RoomName = p.tbRoom.RoomName, MaxStudent = p.MaxStudent, TeachPlan = p.TeachPlan, StudyTarger = p.StudyTarger, SubjectName = p.tbCourse.tbSubject.SubjectName, UserName = p.tbSysUser.UserName, ElectiveApplyFileList = db.Set <Entity.tbElectiveApplyFile>().Where(c => c.tbElectiveApply.Id == id).Select(c => new Dto.ElectiveApplyFile.List() { FileTitle = c.FileTitle, FileName = c.FileName }).ToList(), ElectiveApplyScheduleList = db.Set <Entity.tbElectiveApplySchedule>().Where(c => c.tbElectiveApply.Id == id).Select(c => new Dto.ElectiveApplySchedule.List() { PeriodId = c.tbPeriod.Id, PeriodName = c.tbPeriod.PeriodName, WeekId = c.tbWeek.Id, WeekName = c.tbWeek.WeekName }).ToList() }).FirstOrDefault(); if (tb == null) { return(Code.MvcHelper.Post(new List <string>() { Resources.LocalizedText.MsgNotFound })); } vm.ElectiveApplyDetail = tb; vm.IsWeekPeriod = tb.ElectiveApplyScheduleList != null && tb.ElectiveApplyScheduleList.Count > 0; } else { return(View(vm)); } } vm.PeriodList = Basis.Controllers.PeriodController.SelectList(); vm.WeekList = Basis.Controllers.WeekController.SelectList(); return(View(vm)); }
public ActionResult Detail(Models.ElectiveApply.Detail vm) { if (vm.IsWeekPeriod) { using (var db = new XkSystem.Models.DbContext()) { var weekPeriod = Request["cBox"]; if (string.IsNullOrWhiteSpace(weekPeriod)) { return(Code.MvcHelper.Post(new List <string>() { "请至少选择一项星期节次." })); } //删除原有 (可以做判断只删除不在本次选择范围内的,待优化。) var tbWeekPeriod = (from p in db.Table <Entity.tbElectiveApplySchedule>() /*.Include(p=>p.tbWeek).Include(p=>p.tbPeriod)*/ where p.tbElectiveApply.Id == vm.ElectiveApplyDetail.Id select p); foreach (var item in tbWeekPeriod) { item.IsDeleted = true; item.UpdateTime = DateTime.Now; } var weekPeriodList = weekPeriod.Split(',').ToList(); var tbElectiveApply = db.Set <Entity.tbElectiveApply>().Find(vm.ElectiveApplyDetail.Id); db.Set <Entity.tbElectiveApplySchedule>().AddRange(weekPeriodList.Select(p => new Entity.tbElectiveApplySchedule() { tbElectiveApply = tbElectiveApply, tbWeek = db.Set <Basis.Entity.tbWeek>().Find(p.Split('_')[0].ConvertToInt()), tbPeriod = db.Set <Basis.Entity.tbPeriod>().Find(p.Split('_')[1].ConvertToInt()) })); db.SaveChanges(); } } return(Code.MvcHelper.Post()); }