public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { ValueProviderResult valueResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); ModelState modelState = new ModelState { Value = valueResult }; EncryptedInt actualValue = new EncryptedInt(); try { var isNullableAndNull = (bindingContext.ModelMetadata.IsNullableValueType && string.IsNullOrEmpty(valueResult.AttemptedValue)); if (valueResult != null && !isNullableAndNull) { int idValue = 0; if (int.TryParse(valueResult.AttemptedValue, out idValue)) { actualValue = new EncryptedInt(idValue); } else { actualValue = new EncryptedInt(valueResult.AttemptedValue); } } } catch (FormatException e) { modelState.Errors.Add(e); bindingContext.ModelState.Add(bindingContext.ModelName, modelState); } return(actualValue); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { if (bindingContext == null) { throw new ArgumentNullException("bindingContext"); } var rawVal = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); var ei = new EncryptedInt { Id = Crypto.DecryptToInt(rawVal.AttemptedValue) }; return(ei); }
public JsonResult GetIntValueFromEncrypted(EncryptedInt id) { int intValue = id; return(Json(intValue, JsonRequestBehavior.AllowGet)); }