private void Initialize()
        {
            if (!Directory.Exists(DownloadPath))
            {
                Directory.CreateDirectory(DownloadPath);
            }
            KeePass = KeePassWrapper.OpenWithPassword(SettingsHandler.Instance.KeePassPath, KeePassMasterPassword);

            var options = new ChromeOptions();

            options.AddUserProfilePreference("download.default_directory", DownloadPath);
            options.AddUserProfilePreference("profile.default_content_settings.popups", 0);

            Browser = new ChromeDriver(options);
            Browser.Manage().Window.Maximize();
            Browser.Navigate().GoToUrl(Url);

            FileDownloader = new SeleniumFileDownloader(Browser, DownloadPath);

            Login();
        }
        private void Run()
        {
            var password     = PasswordBoxKeePassMasterPassword.SecurePassword;
            var errorOccured = false;

            try
            {
                var downloadPath = SettingsHandler.Instance.DataDownloaderPath;
                if (!Directory.Exists(downloadPath))
                {
                    Directory.CreateDirectory(downloadPath);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format(Messages.DesinationNotAccessible_Text, SettingsHandler.Instance.DataDownloaderPath), Messages.DesinationNotAccessible_Title, MessageBoxButton.OK,
                                MessageBoxImage.Error);
                Log.Warn(ex, "Download path seems wrong when accessing \"{0}\"", SettingsHandler.Instance.DataDownloaderPath);
                errorOccured = true;
            }
            try
            {
                using (KeePassWrapper.OpenWithPassword(SettingsHandler.Instance.KeePassPath, password))
                {
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format(Messages.KeePassError_Text, SettingsHandler.Instance.KeePassPath), Messages.KeePassError_Title, MessageBoxButton.OK,
                                MessageBoxImage.Error);
                Log.Warn(ex, "KeePass password or path seems wrong when accessing \"{0}\"", SettingsHandler.Instance.KeePassPath);
                errorOccured = true;
            }
            if (errorOccured)
            {
                return;
            }

            ResetProgress();
            if (CheckBoxRaiffeisen.IsChecked.HasValue && CheckBoxRaiffeisen.IsChecked.Value)
            {
                RunningHandler++;
                RunBankDownloadHanlder(new RaiffeisenDownloadHandler(password));
            }
            if (CheckBoxDkb.IsChecked.HasValue && CheckBoxDkb.IsChecked.Value)
            {
                RunningHandler++;
                RunBankDownloadHanlder(new DkbDownloadHandler(password));
            }
            if (CheckBoxSantander.IsChecked.HasValue && CheckBoxSantander.IsChecked.Value)
            {
                RunningHandler++;
                RunBankDownloadHanlder(new SantanderDownloadHandler(password));
            }
            if (CheckBoxNumber26.IsChecked.HasValue && CheckBoxNumber26.IsChecked.Value)
            {
                RunningHandler++;
                RunBankDownloadHanlder(new Number26DownloadHandler(password));
            }
            if (CheckBoxRci.IsChecked.HasValue && CheckBoxRci.IsChecked.Value)
            {
                RunningHandler++;
                RunBankDownloadHanlder(new RciDownloadHandler(password));
            }
        }