public ActionResult Create(string courseTermShortName, string siteShortName, FormCollection input) { Tag newTag = new Tag(); UpdateModel(newTag); if (ModelState.IsValid) { try { newTag.CreatedBy = dataRepository.GetLoggedInProfile().MembershipID; courseTerm.Tags.Add(newTag); newTag.Name = newTag.Name.Trim(); if (newTag.IsCourseOutcome) { foreach (var outcome in site.ProgramOutcomes) { string checkedState = input[outcome.ProgramOutcomeID.ToString()]; if (checkedState != "false") { TagProgramOutcome tpo = new TagProgramOutcome() { Tag = newTag, ProgramOutcomeID = outcome.ProgramOutcomeID }; } } } dataRepository.Save(); return RedirectToAction("Index", new { siteShortName = siteShortName, courseTermShortName = courseTermShortName }); } catch (RuleViolationException) { ModelState.AddModelErrors(newTag.GetRuleViolations()); } catch (Exception ex) { ModelState.AddModelError("_FORM", ex); } } TagEditViewModel model = new TagEditViewModel(newTag, site.ProgramOutcomes.ToList()); return View(model); }