Exemplo n.º 1
0
        public ActionResult DuplicateQuestionnaireQCategory(int ordinal = 0)
        {
            var qqc = new QuestionnaireQCategory()
            {
                Ordinal = ordinal
            };

            return(View(qqc));
        }
Exemplo n.º 2
0
        public ActionResult Details(int id = 0)
        {
            QuestionnaireQCategory questionnaireqcategory = _db.QuestionnaireQCategories.Find(id);

            if (questionnaireqcategory == null)
            {
                return(HttpNotFound());
            }
            return(View(questionnaireqcategory));
        }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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 }));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
 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 }));
     }
 }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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());
        }