public LoginPresenter(ILoginView view, IServerCommunicator serverCommunicator, IMobileConfigurationReader mobileConfigurationReader, INavigationManager navigationManager,
                              IFileSystem fileSystem, IVaultRepositoryFactory vaultRepositoryFactory, ISynchronizer synchronizer, IAlertDisplayer alertDisplayer,
                              ISecureStringConverter secureStringConverter, IApplicationContext applicationContext)
        {
            this.View = view;
            this.MobileConfigurationReader = mobileConfigurationReader;
            this.NavigationManager         = navigationManager;
            this.FileSystem             = fileSystem;
            this.Synchronizer           = synchronizer;
            this.VaultRepositoryFactory = vaultRepositoryFactory;
            this.AlertDisplayer         = alertDisplayer;
            this.SecureStringConverter  = secureStringConverter;
            this.ApplicationContext     = applicationContext;

            var config = MobileConfigurationReader.GetConfiguration();

            this.View.SyncButtonVisible = config.ApplicationMode == ApplicationMode.Client;
            var repository = VaultRepositoryFactory.CreateInstance();
            var vaults     = repository.GetAllVaultNames();

            this.View.VaultNames        = vaults;
            this.View.SelectedVaultName = vaults.FirstOrDefault();


            this.View.Login += OnLogin;
            this.View.NavigateToConfiguration += OnNavigateToConfiguration;
            this.View.Sync += OnSync;
            this.Synchronizer.StatusUpdate += (message) => this.View.ActivityIndicatorText = message;
            this.View.Initialize           += OnInitialize;
        }
 public LoginController(IVaultRepositoryFactory vaultRepositoryFactory, ISecureStringConverter secureStringConverter,
                        ISecureStringBinarySerializer secureStringBinarySerializer, ISessionContext sessionContext,
                        IAuthorizationLogic authorizationLogic)
 {
     this.VaultRepositoryFactory = vaultRepositoryFactory;
     this.SecureStringConverter  = secureStringConverter;
     this.SessionContext         = sessionContext;
     this.AuthorizationLogic     = authorizationLogic;
 }
 public VaultController(IVaultRepositoryFactory vaultRepositoryFactory, IVaultFactory vaultFactory, ISecureStringConverter secureStringConverter,
                        ISessionContext sessionContext, ISyncContext syncContext)
 {
     this.VaultRepositoryFactory = vaultRepositoryFactory;
     this.VaultFactory           = vaultFactory;
     this.SecureStringConverter  = secureStringConverter;
     this.SessionContext         = sessionContext;
     this.SyncContext            = syncContext;
 }
示例#4
0
 public SecureStringBinarySerializer(ISymetricCryptographer cryptographer, SecureString encryptionKey, ISecureStringConverter secureStringConverter)
 {
     Cryptographer         = cryptographer;
     EncryptionKey         = encryptionKey;
     SecureStringConverter = secureStringConverter;
 }
 public AesCryptographer(ISecureStringConverter secureStringConverter)
 {
     SecureStringConverter = secureStringConverter;
 }