Пример #1
0
        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);
    }
Пример #3
0
        public JsonResult GetIntValueFromEncrypted(EncryptedInt id)
        {
            int intValue = id;

            return(Json(intValue, JsonRequestBehavior.AllowGet));
        }