public ActionResult EditUserSetting(UserSettingViewModel model) { var result = new { Success = "true", Message = "Success" }; if (ModelState.IsValid) { try { var userId = User.Identity.GetUserId(); if (model.Id == 0) //setting for the user doesnt exist yet { var userSetting = new UserSetting() { ApplicationUserID = userId, SettingId = model.SettingId, SettingValue = model.SettingValue }; _settingService.CreateUserSetting(userSetting); } else { var setting = _settingService.GetUserSettingById(model.Id); if (setting != null) { setting.SettingValue = model.SettingValue; _settingService.UpdateUserSetting(setting); } } } catch (Exception e) { logger.Error(e, e.Message); result = new { Success = "false", Message = WebResources.ErrorMessage }; return(Json(result, JsonRequestBehavior.AllowGet)); } } else { var error = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage; result = new { Success = "false", Message = error }; return(Json(result, JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); }