public ActionResult Edit(AddEditSearchPhraseModel model)
        {
            SearchPhrase searchPhrase = model.ToEntity(db);

            if (searchPhrase == null)
            {
                return(HttpNotFound());
            }

            SearchPhrase phrase = db.SearchPhrases.Where(x => x.Phrase == searchPhrase.Phrase && x.SearchPhraseId != searchPhrase.SearchPhraseId).FirstOrDefault();

            if (phrase != null)
            {
                ModelState.AddModelError("SearchPhrase", AppGlobal.Language.GetText(this, "SearchPhraseNotUnique", "Search Phrase is already in use"));
            }

            if (model.SelectedQualificationLevels.Count() == 0 && model.SelectedStudyModes.Count() == 0 && model.SelectedAttendanceTypes.Count() == 0 && model.SelectedAttendancePatterns.Count() == 0)
            {
                ModelState.AddModelError("", AppGlobal.Language.GetText(this, "MustSelectReplacement", "You must select at least 1 Qualification Level, Study Mode, Attendance Mode or Attendance Pattern."));
            }

            if (ModelState.IsValid)
            {
                db.Entry(searchPhrase).State = !model.SearchPhraseId.HasValue ? System.Data.Entity.EntityState.Added : System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                ShowGenericSavedMessage();
                return(RedirectToAction("Index"));
            }

            AddListsToModel(model);
            return(View(model));
        }
        public ActionResult Create()
        {
            AddEditSearchPhraseModel model = new AddEditSearchPhraseModel();

            AddListsToModel(model);
            return(View(model));
        }
 private void AddListsToModel(AddEditSearchPhraseModel model)
 {
     model.QualificationLevels = db.QualificationLevels.OrderBy(x => x.DisplayOrder);
     model.StudyModes          = db.StudyModes.OrderBy(x => x.DisplayOrder);
     model.AttendanceTypes     = db.AttendanceTypes.OrderBy(x => x.DisplayOrder);
     model.AttendancePatterns  = db.AttendancePatterns.OrderBy(x => x.DisplayOrder);
 }
        public ActionResult Edit(Int32 id)
        {
            SearchPhrase searchPhrase = db.SearchPhrases.Find(id);

            if (searchPhrase == null)
            {
                return(HttpNotFound());
            }

            AddEditSearchPhraseModel model = new AddEditSearchPhraseModel(searchPhrase);

            AddListsToModel(model);
            return(View(model));
        }