public void Test_UserPreferenceUpdate_ValueToModel() { var value = new UserPreferenceUpdate { Dst = UserPreferenceDaylightSavingTime.Auto, StartOfWeek = UserPreferenceStartOfWeek.Monday, TimeFormat = UserPreferenceTimeFormat.Basic }; value.Initialize(); var preference = new UserPreference(); value.ValueToModel(preference); Assert.AreEqual(UserPreferenceDaylightSavingTime.Auto, preference.Dst, "Dst"); Assert.AreEqual(UserPreferenceStartOfWeek.Monday, preference.StartOfWeek, "StartOfWeek"); Assert.AreEqual(UserPreferenceTimeFormat.Basic, preference.TimeFormat, "TimeFormat"); }
public ActionResult Update(UserPreferenceUpdate value) { if (value == null) { throw new ArgumentNullException("value"); } var user = this.UserService.GetById(Identity.Id); if (user == null) { return base.HttpNotFound(); } var privilege = new UserPrivilege(); if (!privilege.CanUpdate(user)) { return NotAuthorized(); } value.Initialize(); value.Validate(); if (value.IsValid) { value.ValueToModel(user.Preference); this.UserService.UpdatePreference(user.Preference); value.SuccessMessage(Messages.UserAccountPreferenceUpdated); } else { value.CopyToModel(ModelState); } return base.View(Views.Update, value); }