public void Setup() { encryptionProfileFactoryMock = new Mock <IEncryptionProfileFactory>(); encryptionServiceMock = new Mock <IEncryptionService>(); dictionary = new Dictionary <Type, IModelEncryptionDefinition>(); var testModelType = typeof(TestModel); var modelEncryptionDefinition = new ModelEncryptionDefinition( testModelType.GetProperty(nameof(TestModel.EmailAddress)), EncryptionProfileType.Commmon); modelEncryptionDefinition .Add(testModelType.GetProperty(nameof(TestModel.FirstName)), EncryptionProfileType.Commmon); dictionary.Add( testModelType, modelEncryptionDefinition); sut = new ModelEncryptionService <TestModel>( encryptionServiceMock.Object, encryptionProfileFactoryMock.Object, dictionary); }
public IFluentEncryptionModelBuilder <T> RegisterPropertyOrMethod <TSelector>( Expression <Func <T, TSelector> > propertyOrMethod, EncryptionProfileType profileType) { var member = memberExpressionVisitor .GetLastVisitedMember(propertyOrMethod.Body); if (modelEncryptionDefinitionDictionary .TryGetValue(typeof(T), out var modelEncryptionDefinition)) { modelEncryptionDefinition.Add(member, profileType); } else { modelEncryptionDefinition = new ModelEncryptionDefinition(member, profileType); modelEncryptionDefinitionDictionary .Add(typeof(T), modelEncryptionDefinition); } return(this); }