public ActionResult Edit(Models.ElectiveApply.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var tbElectiveApply = new Entity.tbElectiveApply(); if (vm.ElectiveApplyEdit.Id > 0) { tbElectiveApply = db.Set <Entity.tbElectiveApply>().Find(vm.ElectiveApplyEdit.Id); if (tbElectiveApply == null) { return(Code.MvcHelper.Post(new List <string>() { Resources.LocalizedText.MsgNotFound })); } } var tbElective = (from p in db.Set <Entity.tbElective>().Include(p => p.tbElectiveType) where p.Id == vm.ElectiveApplyEdit.ElectiveId select p).FirstOrDefault(); tbElectiveApply.tbElective = tbElective; tbElectiveApply.tbCourse = db.Set <Course.Entity.tbCourse>().Find(vm.ElectiveApplyEdit.CourseId); tbElectiveApply.tbRoom = db.Set <Basis.Entity.tbRoom>().Find(vm.ElectiveApplyEdit.RoomId); tbElectiveApply.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); tbElectiveApply.Hour = vm.ElectiveApplyEdit.Hour; tbElectiveApply.TeachPlan = vm.ElectiveApplyEdit.TeachPlan; tbElectiveApply.StudyTarger = vm.ElectiveApplyEdit.StudyTarger; tbElectiveApply.CheckStatus = Code.EnumHelper.CheckStatus.None; tbElectiveApply.MaxStudent = vm.ElectiveApplyEdit.MaxStudent; tbElectiveApply.IsMultiClass = vm.ElectiveApplyEdit.IsMultiClass; if (vm.ElectiveApplyEdit.Id == 0) { tbElectiveApply.InputTime = DateTime.Now; db.Set <Entity.tbElectiveApply>().Add(tbElectiveApply); } //星期节次 if (tbElective.tbElectiveType.ElectiveTypeCode == Code.EnumHelper.ElectiveType.WeekPeriod) { 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 == tbElectiveApply.Id select p); foreach (var item in tbWeekPeriod) { item.IsDeleted = true; item.UpdateTime = DateTime.Now; } var weekPeriodList = weekPeriod.Split(',').ToList(); 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()) })); } //选课申报附件 if (!string.IsNullOrWhiteSpace(vm.SelectFiles)) { var fileNames = vm.SelectFiles.Split('|').ToList(); fileNames.RemoveAll(p => string.IsNullOrWhiteSpace(p)); //编辑时,删除原有的附件 if (vm.ElectiveApplyEdit.Id > 0) { var files = (from p in db.Table <Entity.tbElectiveApplyFile>() where p.tbElectiveApply.Id == vm.ElectiveApplyEdit.Id select p); foreach (var file in files) { file.IsDeleted = true; file.UpdateTime = DateTime.Now; } } if (fileNames != null && fileNames.Count > 0) { var tbElectiveApplyFile = fileNames.Select(p => new Entity.tbElectiveApplyFile() { FileTitle = p.Split('/')[0], FileName = p.Split('/')[1], tbElectiveApply = tbElectiveApply }).ToList(); db.Set <Entity.tbElectiveApplyFile>().AddRange(tbElectiveApplyFile); } } db.SaveChanges(); } return(Code.MvcHelper.Post(returnUrl: Url.Action("List", "ElectiveApply"), message: "操作成功!")); }
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)); }