public EncryptedValueProvider(IEncryptedConverter <T> encryptedConverter, IValueProvider innerProvider, T emptyValue = default, JsonSerializer serializer = null) { _encryptedConverter = encryptedConverter; _innerProvider = innerProvider; _emptyValue = emptyValue; _serializer = serializer; }
public EncryptedDictionaryValueProvider( IEncryptedConverter <Dictionary <TKey, TValue> > encryptedConverter, IValueProvider innerProvider, Dictionary <TKey, TValue> emptyValue, JsonSerializer serializer) : base(encryptedConverter, innerProvider, emptyValue, serializer) { }
private IValueProvider ResolveEnumValueProvider(Type type, IEncryptedConverter converter, IValueProvider innerProvider) { return((IValueProvider)Activator.CreateInstance( typeof(EnumValueProvider <>).MakeGenericType(type), BindingFlags.Instance | BindingFlags.Public, binder: null, args: new object[] { converter, innerProvider }, culture: null)); }
private IValueProvider ResolveArrayValueProvider(Type type, IEncryptedConverter converter, IValueProvider innerProvider) { var elementType = type.GetElementType(); return((IValueProvider)Activator.CreateInstance( typeof(EncryptedArrayValueProvider <>).MakeGenericType(elementType), BindingFlags.Instance | BindingFlags.Public, binder: null, args: new object[] { converter, innerProvider, Array.CreateInstance(elementType, 0), new JsonSerializer() }, culture: null)); }
private IValueProvider ResolveDictionaryValueProvider(Type type, IEncryptedConverter converter, IValueProvider innerProvider) { var genericArgTypes = type.GenericTypeArguments; var defaultValue = Activator.CreateInstance( typeof(Dictionary <,>).MakeGenericType(genericArgTypes), BindingFlags.Instance | BindingFlags.Public, binder: null, args: null, culture: null); return((IValueProvider)Activator.CreateInstance( typeof(EncryptedDictionaryValueProvider <,>).MakeGenericType(genericArgTypes), BindingFlags.Instance | BindingFlags.Public, binder: null, args: new object[] { converter, innerProvider, defaultValue, new JsonSerializer() }, culture: null)); }
private IValueProvider ResolveValueProvider(Type type, IEncryptedConverter converter, IValueProvider innerProvider) { if (_valueProviderFactories.TryGetValue(type, out var factory)) { return(factory.Invoke(converter, innerProvider)); } if (type.IsArray) { return(ResolveArrayValueProvider(type, converter, innerProvider)); } if (type.IsIDictionary()) { return(ResolveDictionaryValueProvider(type, converter, innerProvider)); } if (type.IsEnum) { return(ResolveEnumValueProvider(type, converter, innerProvider)); } return(ResolveGenericValueProvider(type, innerProvider)); }
public IntValueProvider(IEncryptedConverter <int> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public ShortValueProvider(IEncryptedConverter <short> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public SByteValueProvider(IEncryptedConverter <sbyte> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public ULongValueProvider(IEncryptedConverter <ulong> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public DoubleValueProvider(IEncryptedConverter <double> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public EnumValueProvider(IEncryptedConverter <T> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public StringValueProvider(IEncryptedConverter <string> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider, string.Empty) { }
public ByteArrayValueProvider(IEncryptedConverter <byte[]> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider, Array.Empty <byte>()) { }
public GuidValueProvider(IEncryptedConverter <Guid> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public CharValueProvider(IEncryptedConverter <char> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public BoolValueProvider(IEncryptedConverter <bool> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public GenericValueProvider(IEncryptedConverter encryptedConverter, IValueProvider innerProvider, JsonSerializer serializer) : base(encryptedConverter, innerProvider, serializer) { }
public DecimalValueProvider(IEncryptedConverter <decimal> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public DateTimeOffsetValueProvider(IEncryptedConverter <DateTimeOffset> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
public FloatValueProvider(IEncryptedConverter <float> encryptedConverter, IValueProvider innerProvider) : base(encryptedConverter, innerProvider) { }
/// <summary> /// Creates a new <see cref="JsonCryptionContractResolver"/> with the root <see cref="IDataProtectionProvider"/> /// </summary> /// <param name="dataProtectionProvider"></param> public JsonCryptionContractResolver(IDataProtectionProvider dataProtectionProvider) { _dataProtectionProvider = dataProtectionProvider; _converters = new Dictionary <Type, IEncryptedConverter>(); _genericConverter = new GenericConverter(dataProtectionProvider.CreateProtector(typeof(GenericConverter).FullName)); }
public EncryptedArrayValueProvider(IEncryptedConverter <T[]> encryptedConverter, IValueProvider innerProvider, T[] emptyValue, JsonSerializer serializer) : base(encryptedConverter, innerProvider, emptyValue, serializer) { }