public async Task UploadSelectedRuns()
        {
            MetroWindow pluginWindow = Window.GetWindow(this) as MetroWindow;

            if (string.IsNullOrEmpty(PluginSettings.Instance.AccountName) || string.IsNullOrEmpty(PluginSettings.Instance.EncryptedPassword))
            {
                MessageDialogResult messageDialogResult = await pluginWindow.ShowMessageAsync("Error", "Empty account name and/or password. Do you want to open the settings?", MessageDialogStyle.AffirmativeAndNegative);

                if (messageDialogResult == MessageDialogResult.Affirmative)
                {
                    OpenSettings();
                }
                return;
            }
            ArenaMasteryUploaderLogic controller = new ArenaMasteryUploaderLogic(PluginSettings.Instance.AccountName, PluginSettings.Instance.Password);
            ProgressDialogController  progressDialogController = await pluginWindow.ShowProgressAsync("Upload to Arena Mastery", "Uploading arena runs to Arena Mastery");

            Result <UploadResults> result = await controller.LoginAndSubmitArenaRuns(SelectedDecks, progressDialogController.SetProgress);

            collectionView.Refresh();
            await progressDialogController.CloseAsync();

            if (result.Outcome != UploadResults.Success)
            {
                await pluginWindow.ShowMessageAsync("Error", "Error uploading arena runs: " + result.ErrorMessage);
            }
        }
        public async Task UploadSelectedRuns()
        {
            MetroWindow pluginWindow = Window.GetWindow(this) as MetroWindow;

            if (string.IsNullOrEmpty(PluginSettings.Instance.AccountName) || string.IsNullOrEmpty(PluginSettings.Instance.EncryptedPassword))
            {
                MessageDialogResult messageDialogResult = await pluginWindow.ShowMessageAsync("Error", "Empty account name and/or password. Do you want to open the settings?", MessageDialogStyle.AffirmativeAndNegative);
                if (messageDialogResult == MessageDialogResult.Affirmative)
                {
                    OpenSettings();
                }
                return;
            }
            ArenaMasteryUploaderLogic controller = new ArenaMasteryUploaderLogic(PluginSettings.Instance.AccountName, PluginSettings.Instance.Password);
            ProgressDialogController progressDialogController = await pluginWindow.ShowProgressAsync("Upload to Arena Mastery", "Uploading arena runs to Arena Mastery");

            Result<UploadResults> result = await controller.LoginAndSubmitArenaRuns(SelectedDecks, progressDialogController.SetProgress);
            collectionView.Refresh();
            await progressDialogController.CloseAsync();
            if (result.Outcome != UploadResults.Success)
            {
                await pluginWindow.ShowMessageAsync("Error", "Error uploading arena runs: " + result.ErrorMessage);
            }
        }