public ActionResult Edit(Question question)
        {
            if (ModelState.IsValid)
            {
                _context.Entry(question).State = EntityState.Modified;
                _context.SaveChanges();
                //return RedirectToAction("Index");

                // Question entry = _context.Entry(question).Entity;
                // System.Data.Entity.DbSet<Question> dbset = _context.Questions;

                //If we changed index, we need to shift other elements
                // int oldIndex = dbset.First(x => x.Id == entry.Id).Index;

                // shiftIndexes(entry, oldIndex, dbset);

                //Ugly workaround
                //Question dbQ = dbset.First(x => x.Id == entry.Id);
                //dbQ.Index = entry.Index;
                //dbQ.CategoryId = question.CategoryId;
                //dbQ.PostAnnotation = entry.PostAnnotation;
                //dbQ.Summary = entry.Summary;
                //dbQ.Title = entry.Title;
                //_context.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(question));
        }
        public async Task <IActionResult> PutQuestionnaire(string id, Questionnaire questionnaire)
        {
            if (id != questionnaire.Id)
            {
                return(BadRequest());
            }

            _context.Entry(questionnaire).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!QuestionnaireExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 public ActionResult Edit(File file)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(file).State = System.Data.Entity.EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(file));
 }
Beispiel #4
0
        public void Update(T entity)
        {
            var entityEntry = Context.Entry(entity);

            if (entityEntry.State == EntityState.Detached)
            {
                DbSet.Attach(entity);
            }
            entityEntry.State = EntityState.Modified;
        }
 public ActionResult Edit(Vendor vendor)
 {
     if (ModelState.IsValid)
     {
         _context.Entry(vendor).State = EntityState.Modified;
         _context.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(vendor));
 }
Beispiel #6
0
 public ActionResult Edit(AppSetting appsetting)
 {
     if (ModelState.IsValid)
     {
         _db.Entry(appsetting).State = System.Data.Entity.EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(appsetting));
 }
Beispiel #7
0
        public ActionResult Create(Category category)
        {
            if (ModelState.IsValid)
            {
                category.ImageDisplayFlag = true;

                category.RiskRanges = new List <RiskRange>();
                category.RiskRanges.Add(new RiskRange(1));
                category.RiskRanges.Add(new RiskRange(2));
                category.RiskRanges.Add(new RiskRange(3));
                db.Categories.Add(category);

                Category entry = db.Entry(category).Entity;
                System.Data.Entity.DbSet <Category> dbset = db.Categories;

                db.SaveChanges();
                return(RedirectToAction("Edit/" + category.Id));
            }

            return(View(category));
        }
Beispiel #8
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));
 }
 public ActionResult Edit(Question question, string qTypeName)
 {
     try
     {
         if (ModelState.IsValid)
         {
             question.QTypeName        = qTypeName;
             _db.Entry(question).State = System.Data.Entity.EntityState.Modified;
             _db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch (DataException /* dex */)
     {
         ModelState.AddModelError("", "Unable to save changes.");
     }
     return(View(question));
 }
Beispiel #10
0
        public ActionResult Edit(IEnumerable <QuestionnaireQuestion> qQuestions, int[] remove,
                                 int selectedQuestionAdd = -1, int selectedQQCategoryAdd = -1)
        {
            if (remove == null)
            {
                remove = new int[0];
            }

            QuestionnaireQuestion[] enumerable = qQuestions as QuestionnaireQuestion[] ?? qQuestions.ToArray();
            int?id = enumerable[0].QuestionnaireId;

            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
                {
                    var qqnum = enumerable.Where(x => remove.Contains(x.Id));

                    // updates
                    foreach (QuestionnaireQuestion qQuestion in enumerable)
                    {
                        if (!remove.Contains(qQuestion.Id))
                        {
                            _db.Entry(qQuestion).State = System.Data.Entity.EntityState.Modified;
                        }
                    }
                    _db.SaveChanges();

                    // deletes
                    foreach (var i in remove)
                    {
                        var qq = _db.QuestionnaireQuestions.Single(x => x.Id == i);
                        _db.Entry(qq).State = System.Data.Entity.EntityState.Deleted;
                    }
                    _db.SaveChanges();

                    // new questionnaire question
                    if (selectedQuestionAdd != -1 && selectedQQCategoryAdd != -1)
                    {
                        int ordinal = 1;
                        if (_db.QuestionnaireQuestions.Any(x => x.QuestionnaireId == id && x.QQCategoryId == selectedQQCategoryAdd))
                        {
                            ordinal =
                                _db.QuestionnaireQuestions.Where(
                                    x => x.QuestionnaireId == id && x.QQCategoryId == selectedQQCategoryAdd)
                                .OrderBy(x => x.Ordinal)
                                .ToList()
                                .Last()
                                .Ordinal + 1;
                        }

                        var qq = new QuestionnaireQuestion
                        {
                            QuestionnaireId = id,
                            QuestionId      = selectedQuestionAdd,
                            QQCategoryId    = selectedQQCategoryAdd,
                            Ordinal         = ordinal
                        };

                        _db.Entry(qq).State = System.Data.Entity.EntityState.Added;
                    }
                    _db.SaveChanges();

                    scope.Complete();
                    return(RedirectToAction("Edit"));
                }
                catch (Exception ex)
                {
                    throw;
                }
            }


            return(View());
        }
        public ActionResult SendToVerification(int id)
        {
            var userId = WebSecurity.GetUserId(User.Identity.Name);

            // Delete existing verification items for this user
            //var userItems = _db.Verifications.Where(x => x.UserId == userId);
            //var removeRange = _db.Verifications.RemoveRange(userItems);
            //var saveChanges = _db.SaveChanges();

            var lockedSections =
                _db.Verifications.Where(x => x.UserId == userId && x.Editable == false).Select(x => x.QQCategoryId).ToList();

            var applicationDataToVerify = _db.Responses.Where(x => x.UserId == userId && x.QuestionnaireId == 1 && !lockedSections.Contains(x.QuestionnaireQCategoryId)).ToList();

            var distinctQCategoryIds = applicationDataToVerify.Select(x => x.QCategoryId).Distinct();

            foreach (var qCategoryId in distinctQCategoryIds)
            {
                var distinctSubOrdinals = applicationDataToVerify.Where(x => x.QCategoryId == qCategoryId).Select(x => x.SubOrdinal).Distinct().ToList();
                for (var i = 0; i < distinctSubOrdinals.Count(); i++)
                {
                    var subOrdinal      = distinctSubOrdinals[i];
                    var questionnaireId = applicationDataToVerify[i].QuestionnaireId;

                    var categoryId   = qCategoryId;
                    var categoryName = _db.QCategories.Single(x => x.QCategoryId == categoryId).QCategoryName;
                    var qqCategoryId =
                        applicationDataToVerify.First(x => x.QCategoryId == qCategoryId && x.SubOrdinal == subOrdinal)
                        .QuestionnaireQCategoryId;

                    var subOrdinalQuestions = applicationDataToVerify.Where(x => x.QCategoryId == categoryId && x.SubOrdinal == subOrdinal).Select(x => new { x.QuestionText, x.ResponseItem });
                    var itemInfo            = "<b>" + categoryName.ToUpper() + "</b><br />";
                    itemInfo += subOrdinalQuestions.Aggregate("", (current, item) => current + ("<i>" + item.QuestionText + ":</i> " + item.ResponseItem + "<br />"));

                    if (_db.Verifications.Any(x => x.QQCategoryId == qqCategoryId))
                    {
                        //update
                        var verification = _db.Verifications.Single(x => x.QQCategoryId == qqCategoryId);
                        verification.ItemInfo         = itemInfo;
                        verification.Editable         = false;
                        _db.Entry(verification).State = (EntityState)System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        // make new
                        var verifyQCategory = new Verification
                        {
                            QuestionnaireId = questionnaireId,
                            UserId          = userId,
                            QCategoryId     = qCategoryId,
                            QQCategoryId    = qqCategoryId,
                            SubOrdinal      = subOrdinal,
                            ItemInfo        = itemInfo,
                            ItemVerified    = false,
                            ItemStepLevel   = "",
                            Editable        = false
                        };
                        _db.Verifications.Add(verifyQCategory);
                    }
                }
            }
            _db.SaveChanges();
            return(View());
        }