public ActionResult Edit(UpdatePrivacySettingsModel<PrivacySetting> aSettings)
 {
     if (!IsLoggedIn()) {
         return RedirectToLogin();
     }
     User myUser = GetUserInformaton();
     try {
         thePrivacyService.UpdatePrivacySettings(myUser, aSettings);
         TempData["Message"] += MessageHelper.SuccessMessage(EDIT_SUCCESS);
     } catch (Exception e) {
         LogError(e, EDIT_FAIL);
         TempData["Message"] += MessageHelper.ErrorMessage(EDIT_FAIL);
     }
     return RedirectToAction(EDIT_VIEW);
 }
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            User myUser = HAVUserInformationFactory.GetUserInformation().Details;
            UpdatePrivacySettingsModel<PrivacySetting> myModel = new UpdatePrivacySettingsModel<PrivacySetting>();
            List<Pair<AbstractPrivacySettingModel<PrivacySetting>, bool>> myAllPairs = new List<Pair<AbstractPrivacySettingModel<PrivacySetting>, bool>>();
            foreach (SocialPrivacySetting mySetting in Enum.GetValues(typeof(SocialPrivacySetting))) {
                bool mySelected = BinderHelper.GetABoolean(bindingContext, mySetting.ToString());
                PrivacySetting myPrivacySetting = PrivacySetting.CreatePrivacySetting(mySetting.ToString(), 0, string.Empty, string.Empty, string.Empty, 0);
                Pair<AbstractPrivacySettingModel<PrivacySetting>, bool> myPair = new Pair<AbstractPrivacySettingModel<PrivacySetting>, bool>() {
                    First = SocialPrivacySettingModel.Create(myPrivacySetting),
                    Second = mySelected
                };
                myAllPairs.Add(myPair);
            }

            myModel.PrivacySettings = myAllPairs;

            return myModel;
        }