public ActionResult Create()
        {
            var survey = new Survey
                {
                    StartDate = DateTime.Now,
                    EndDate = DateTime.Now.AddYears(1)
                };

            return View(survey);
        }
 public ActionResult Create(Survey survey, string action)
 {
     if (ModelState.IsValid)
     {
         survey.Questions.ForEach(q => q.CreatedOn = q.ModifiedOn = DateTime.Now);
         _db.Surveys.Add(survey);
         _db.SaveChanges();
         TempData["success"] = "The survey was successfully created!";
         return RedirectToAction("Edit", new {id = survey.Id});
     }
     else
     {
         TempData["error"] = "An error occurred while attempting to create this survey.";
         return View(survey);
     }
 }
        public ActionResult Edit(Survey model)
        {
            foreach (var question in model.Questions)
            {
                question.SurveyId = model.Id;

                if (question.Id == 0)
                {
                    question.CreatedOn = DateTime.Now;
                    question.ModifiedOn = DateTime.Now;
                    _db.Entry(question).State = EntityState.Added;
                }
                else
                {
                    question.ModifiedOn = DateTime.Now;
                    _db.Entry(question).State = EntityState.Modified;
                    _db.Entry(question).Property(x => x.CreatedOn).IsModified = false;
                }
            }

            _db.Entry(model).State = EntityState.Modified;
            _db.SaveChanges();
            return RedirectToAction("Edit", new {id = model.Id});
        }
 public ActionResult Delete(Survey survey)
 {
     _db.Entry(survey).State = EntityState.Deleted;
     _db.SaveChanges();
     return RedirectToAction("Index");
 }