public ActionResult DuplicateQuestionnaireQCategory(int ordinal = 0) { var qqc = new QuestionnaireQCategory() { Ordinal = ordinal }; return(View(qqc)); }
public ActionResult Details(int id = 0) { QuestionnaireQCategory questionnaireqcategory = _db.QuestionnaireQCategories.Find(id); if (questionnaireqcategory == null) { return(HttpNotFound()); } return(View(questionnaireqcategory)); }
public ActionResult Edit(QuestionnaireQCategory questionnaireqcategory) { if (ModelState.IsValid) { _db.Entry(questionnaireqcategory).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.QuestionnaireId = new SelectList(_db.Questionnaires, "QuestionnaireId", "QuestionnaireName", questionnaireqcategory.QuestionnaireId); ViewBag.QCategoryId = new SelectList(_db.QCategories, "QCategoryId", "QCategoryName", questionnaireqcategory.QCategoryId); return(View(questionnaireqcategory)); }
public ActionResult Edit(int id = 0) { QuestionnaireQCategory questionnaireqcategory = _db.QuestionnaireQCategories.Find(id); if (questionnaireqcategory == null) { return(HttpNotFound()); } ViewBag.QuestionnaireId = new SelectList(_db.Questionnaires, "QuestionnaireId", "QuestionnaireName", questionnaireqcategory.QuestionnaireId); ViewBag.QCategoryId = new SelectList(_db.QCategories, "QCategoryId", "QCategoryName", questionnaireqcategory.QCategoryId); return(View(questionnaireqcategory)); }
public ActionResult DuplicateQuestionnaireQCategory(QuestionnaireQCategory qqc) { if (qqc.Ordinal <= 0) { return(View()); } var userGuid = new Guid(User.Identity.GetUserId()); //WebSecurity.GetUserId(User.Identity.Name); var userId = BitConverter.ToInt32(userGuid.ToByteArray(), 0); var allOfOrdinal = _db.QuestionnaireQCategories.Where(a => a.Ordinal == qqc.Ordinal).OrderBy(o => o.SubOrdinal); allOfOrdinal = allOfOrdinal.Where(x => x.UserId == 0 || x.UserId == userId).OrderBy(o => o.SubOrdinal); var toDuplicate = allOfOrdinal.ToList().Last(); /* add new QuestionnaireQCategory */ var questionnaireqcategory = new QuestionnaireQCategory { QCategoryId = toDuplicate.QCategoryId, QuestionnaireId = toDuplicate.QuestionnaireId, Ordinal = toDuplicate.Ordinal, SubOrdinal = toDuplicate.SubOrdinal + 1, UserId = userId }; _db.QuestionnaireQCategories.Add(questionnaireqcategory); _db.SaveChanges(); /* get new Id */ var newId = questionnaireqcategory.Id; /* get QuestionnaireQuestions to duplicate */ var QQCI = _db.QuestionnaireQCategories.Where(x => x.UserId == 0 && x.QCategoryId == toDuplicate.QCategoryId).FirstOrDefault().Id; var toDuplicateQQs = _db.QuestionnaireQuestions.Where(x => x.QQCategoryId == QQCI); //toDuplicate.QCategoryId); foreach (var dupQ in toDuplicateQQs) //.Select(qq => new QuestionnaireQuestion() { var qq = new QuestionnaireQuestion { QQCategoryId = newId, Ordinal = dupQ.Ordinal, QuestionnaireId = dupQ.QuestionnaireId, QuestionId = dupQ.QuestionId, UserId = userId }; _db.QuestionnaireQuestions.Add(qq); } _db.SaveChanges(); return(RedirectToAction("Edit", "Response", new { area = "", id = toDuplicate.QuestionnaireId })); }
public ActionResult Create(QuestionnaireQCategory questionnaireqcategory) { if (ModelState.IsValid) { _db.QuestionnaireQCategories.Add(questionnaireqcategory); _db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.QuestionnaireId = new SelectList(_db.Questionnaires, "QuestionnaireId", "QuestionnaireName", questionnaireqcategory.QuestionnaireId); ViewBag.QCategoryId = new SelectList(_db.QCategories, "QCategoryId", "QCategoryName", questionnaireqcategory.QCategoryId); return(View(questionnaireqcategory)); }
public ActionResult DeleteConfirmed(int id) { try { QuestionnaireQCategory questionnaireqcategory = _db.QuestionnaireQCategories.Find(id); _db.QuestionnaireQCategories.Remove(questionnaireqcategory); _db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { return(RedirectToAction("Delete", "QuestionnaireQCategory", new { id, err = 1 })); } }
public ActionResult Delete(int id = 0, int err = 0) { if (err != 0) { ViewBag.message = "The section is still being used by a questionnaire and cannot be deleted."; } else { ViewBag.message = ""; } QuestionnaireQCategory questionnaireqcategory = _db.QuestionnaireQCategories.Find(id); if (questionnaireqcategory == null) { return(HttpNotFound()); } return(View(questionnaireqcategory)); }
public ActionResult EditSections(int[] remove, int selectedSectionAdd = -1) { if (remove == null) { remove = new int[0]; } int?id = 1; if (id == null) { return(View()); } var questionnaireId = (int)id; var scope = new TransactionScope( // a new transaction will always be created TransactionScopeOption.RequiresNew, // we will allow volatile data to be read during transaction new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted } ); using (scope) { try { // deletes foreach (int i in remove) { var qSectionDelete = _db.QuestionnaireQCategories.Where(x => x.Id == i).FirstOrDefault(); _db.Entry(qSectionDelete).State = System.Data.Entity.EntityState.Deleted; } _db.SaveChanges(); } catch (Exception ex) { return(RedirectToAction("Edit", null, new { id, err = 1 })); } try { // new questionnaire section var ordinal = _db.QuestionnaireQCategories.Where( x => x.QuestionnaireId == id && x.UserId == 0) .OrderBy(x => x.Ordinal) .ToList() .Last() .Ordinal + 1; if (selectedSectionAdd != -1) { var qSectionAdd = new QuestionnaireQCategory { QuestionnaireId = id, UserId = 0, QCategoryId = selectedSectionAdd, Ordinal = ordinal }; _db.Entry(qSectionAdd).State = System.Data.Entity.EntityState.Added; } _db.SaveChanges(); } catch { throw; } scope.Complete(); return(RedirectToAction("Edit")); } return(View()); }