public virtual ActionResult Edit(string id)
        {
            var model = SurveyEditModel.FromDomain(Surveys.Get(id), Accounting);

            ViewData["groups"] = GroupSummaries;
            ViewData["users"]  = UserSummaries[model.Availability.Users ?? new string[0]];
            return(View(model));
        }
        public virtual ActionResult Edit(string id, SurveyEditModel s)
        {
            var x = Surveys.Get(id);

            if (!ModelState.IsValid)
            {
                return(View(s));
            }
            try
            {
                s.Apply(x, Accounting);
                Surveys.Save(x);
                return(this.RedirectToAction(c => c.Index()));
            }
            catch (Exception ex)
            {
                ViewData["groups"] = GroupSummaries;
                ViewData["users"]  = UserSummaries[s.Availability.Users ?? new string[0]];
                Notifier.Notify(ex);
                return(View(s));
            }
        }
 protected override Survey GetResource(string id)
 {
     return(Surveys.Get(id));
 }