public ActionResult Edit(int id)
        {
            var service = CreatePreferenceService();
            var detail  = service.GetPreferenceById(id);
            var model   =
                new PreferencesEdit
            {
                PreferenceId               = detail.PreferenceId,
                DomFamId                   = detail.DomFamId,
                GenderPreference           = detail.GenderPreference,
                MinAge                     = detail.MinAge,
                MaxAge                     = detail.MaxAge,
                RacePreference             = detail.RacePreference,
                AreTheyOkayWithOtherStates = detail.AreTheyOkayWithOtherStates,
            };

            return(View(model));
        }
        public bool UpdatePreferences(PreferencesEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Preferences
                    .Single(e => e.PreferenceId == model.DomFamId && e.OwnerId == _userId);

                entity.GenderPreference           = model.GenderPreference;
                entity.MinAge                     = model.MinAge;
                entity.MaxAge                     = model.MaxAge;
                entity.RacePreference             = model.RacePreference;
                entity.AreTheyOkayWithOtherStates = model.AreTheyOkayWithOtherStates;
                entity.DomFamId                   = model.DomFamId;


                return(ctx.SaveChanges() == 1);
            }
        }
        public ActionResult Edit(int id, PreferencesEdit model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.PreferenceId != id)
            {
                ModelState.AddModelError("", "Id mismatch");
                return(View(model));
            }
            var service = CreatePreferenceService();

            if (service.UpdatePreferences(model))
            {
                TempData["SaveResults"] = "Your preferences were updated";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Your preferences could not be updated");
            return(View(model));
        }