private static object GetParameterValue(System.Web.HttpContextBase context, System.Reflection.ParameterInfo pi)
		{
			if (pi.Name == "body")
				return context.GetOrDeserializeRequestStreamJson(pi.ParameterType);
			if (pi.Name == "context")
				return context;
			var queryValue = context.Request[pi.Name];
			if (string.IsNullOrEmpty(queryValue))
				return null;
			return Utility.Convert(queryValue, pi.ParameterType);
		}
		private void Save(System.Web.HttpContextBase context)
		{
			var requestBody = context.GetOrDeserializeRequestStreamJson<object>();
			var user = GetUser(context.User);
			if (requestBody.ContainsKey("Settings") && requestBody["Settings"] is IDictionary<string, object>)
				user.Settings = (IDictionary<string, object>)requestBody["Settings"];
			repository.Save(user);
			context.Response.WriteJson(new { User = user });
		}