public XmlCredentialRepository(ICredentialRepositoryConfig config, CredentialRecordSaver credentialRecordSaver, CredentialRecordLoader credentialRecordLoader) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (credentialRecordSaver == null) { throw new ArgumentNullException(nameof(credentialRecordSaver)); } if (credentialRecordLoader == null) { throw new ArgumentNullException(nameof(credentialRecordLoader)); } Config = config; CredentialRecords = new FullyObservableCollection <ICredentialRecord>(); ((FullyObservableCollection <ICredentialRecord>)CredentialRecords).CollectionUpdated += RaiseCredentialsUpdatedEvent; Config.PropertyChanged += (sender, args) => RaiseRepositoryConfigUpdatedEvent(args); _credentialRecordSaver = credentialRecordSaver; _credentialRecordLoader = credentialRecordLoader; }
private ICredentialRepository BuildXmlRepo(ICredentialRepositoryConfig config) { var dataProvider = new FileDataProvider(config.Source); var saver = new CredentialRecordSaver(dataProvider, _serializer); var loader = new CredentialRecordLoader(dataProvider, _deserializer); return(new XmlCredentialRepository(config, saver, loader)); }
public ICredentialRepository Build(ICredentialRepositoryConfig config) { return(BuildXmlRepo(config)); }