// GET: Groups/Create public ActionResult Create() { var model = new CreateGroupModelGet(); model.StudyYear.AddRange(Enum.GetNames(typeof(Enums.StudyYear))); model.Semester.AddRange(Enum.GetNames(typeof(Enums.Semester))); model.CourseType.AddRange(Enum.GetNames(typeof(Enums.CourseType))); model.StudyPrograms = db.StudyPrograms.Select(sP => sP.Name).ToList(); return(View(model)); }
public ActionResult Create(CreateGroupModelPost model) { List <StudyProgram> studyPrograms = new List <StudyProgram>(); StudyProgram studyProgramDb; foreach (string studyProgram in model.StudyPrograms) { studyProgramDb = db.StudyPrograms.Where(sP => sP.Name.Equals(studyProgram)).First(); if (studyProgramDb != null) { studyPrograms.Add(studyProgramDb); } } Group gr = db.Groups.Where(g => g.CourseCode == model.CourseCode).FirstOrDefault(); if (ModelState.IsValid && gr == null) { Group group = new Group() { CourseCode = model.CourseCode, CourseName = model.CourseName, CourseDescription = model.CourseDescription, StudyYear = (Enums.StudyYear)Enum.Parse(typeof(Enums.StudyYear), model.StudyYear), Semester = (Enums.Semester)Enum.Parse(typeof(Enums.Semester), model.Semester), CourseType = (Enums.CourseType)Enum.Parse(typeof(Enums.CourseType), model.CourseType), //StudyPrograms = studyPrograms, NumberOfPosts = 0, NumberOfReplies = 0, CoursePictureUrl = DefaultImagePath.DEFAULT_GROUP_IMAGE }; db.Groups.Add(group); db.SaveChanges(); return(RedirectToAction("Index")); } ModelState.AddModelError("", "The CourseCode is already taken!"); var m = new CreateGroupModelGet(); m.StudyYear.AddRange(Enum.GetNames(typeof(Enums.StudyYear))); m.Semester.AddRange(Enum.GetNames(typeof(Enums.Semester))); m.CourseType.AddRange(Enum.GetNames(typeof(Enums.CourseType))); m.StudyPrograms = db.StudyPrograms.Select(sP => sP.Name).ToList(); return(View(m)); }