public async Task <ActionResult> Create(ClassCreateViewModel model) { if (ModelState.IsValid) { var departments = await DepartmentManager.GetAllEntities().ToListAsync(); SelectList departSelectList = new SelectList(departments, "Id", "Name"); ViewBag.departSelectList = departSelectList; var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync(); SelectList majorSelectList = new SelectList(majors, "Id", "Name"); ViewBag.majorSelectList = majorSelectList; var grades = await GradeManager.GetAllEntities().ToListAsync(); SelectList gradeSelectList = new SelectList(grades, "Id", "GradeNum"); ViewBag.gradeSelectList = gradeSelectList; var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList(); ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name"); ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync(); var grade = await GradeManager.FindEntityByIdAsync(model.GradeId); if (grade == null) { ModelState.AddModelError("", "找不到grade"); return(View(model)); } var major = await MajorManager.FindEntityByIdAsync(model.MajorId); if (major == null) { ModelState.AddModelError("", "找不到major"); return(View(model)); } var teacher = await UserManager.FindByIdAsync(model.ClassTeacherId); if (teacher == null) { ModelState.AddModelError("", "找不到teacher"); return(View(model)); } var class1 = new Class { ClassDefination = model.Defination, Grade = grade, Major = major, ClassTeacher = teacher.TeacherInfo }; if (await ClassManager.IsEntityExistByLamdaAsync(c => c.Grade.Id == class1.Grade.Id && c.Major.Id == class1.Major.Id && c.ClassDefination == class1.ClassDefination)) { ModelState.AddModelError("", "已存在Class"); return(View(model)); } var class2 = await ClassManager.AddEntityAsync(class1); teacher.TeacherInfo.ManageClass = class2; await UserManager.UpdateAsync(teacher); return(RedirectToAction("Index")); } return(View(model)); }