Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 1st, 2012  |  syntax: None  |  size: 0.86 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. using System;
  2. using System.Web.Mvc;
  3. using System.Linq;
  4. using NetMovies.Common.Security;
  5.  
  6. namespace NetMovies.Pandora.WebSite.Helpers.ModelBinders
  7. {
  8.     public class DecryptModelBinder : IModelBinder
  9.     {
  10.         public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
  11.         {
  12.             var parameter = bindingContext
  13.                 .ValueProvider
  14.                 .GetValue(bindingContext.ModelName);
  15.  
  16.             return IsAnArray(bindingContext.ModelType)
  17.                 ? (object)parameter.AttemptedValue.Split(',').Select(Decrypt).ToArray()
  18.                 : Decrypt(parameter.AttemptedValue);
  19.         }
  20.  
  21.         private bool IsAnArray(Type modelType)
  22.         {
  23.             return modelType.IsArray;
  24.         }
  25.  
  26.         private string Decrypt(string value)
  27.         {
  28.             return Cripto.DecryptAES(value);
  29.         }
  30.     }
  31. }