void OnSelectProviderCompleted(Object stepControl) { // get reference to panel WeblogConfigurationWizardPanelSelectProvider panelSelectProvider = stepControl as WeblogConfigurationWizardPanelSelectProvider; // record the provider and blog info IBlogProviderDescription provider = panelSelectProvider.SelectedBlogProvider; _temporarySettings.SetProvider(provider.Id, provider.Name, provider.PostApiUrl, provider.ClientType); _temporarySettings.HostBlogId = String.Empty; if (panelSelectProvider.TargetBlog != null) { _temporarySettings.SetBlogInfo(panelSelectProvider.TargetBlog); } _temporarySettings.HostBlogs = panelSelectProvider.UsersBlogs; // If we don't yet have a HostBlogId then the user needs to choose from // among available weblogs if (_temporarySettings.HostBlogId == String.Empty) { PerformSelectBlogSubStep(); } else { // if we have not downloaded an editing template yet for this // weblog then execute this now PerformSettingsAutoDetectionSubStepIfNecessary(); } }
public override bool ValidatePanel() { // validate we have select a provider if (comboBoxSelectProvider.SelectedItem == BlogProviderDescriptionProxy.SelectProvider) { DisplayMessage.Show(MessageId.RequiredFieldOmitted, FindForm(), Res.Get(StringId.CWSelectProviderWeblogProvider)); comboBoxSelectProvider.Focus(); return(false); } // validate that we have a post api url else if (textBoxServerApiUrl.Text.Trim() == String.Empty) { DisplayMessage.Show(MessageId.RequiredFieldOmitted, FindForm(), Res.Get(StringId.CWSelectProviderApiUrl)); textBoxServerApiUrl.Focus(); return(false); } else if (!ValidateNoParameters(textBoxServerApiUrl)) { return(false); } else { using (new WaitCursor()) { IBlogProviderDescription provider = SelectedBlogProvider; BlogAccountDetector blogAccountDetector = new BlogAccountDetector( provider.ClientType, provider.PostApiUrl, new BlogCredentialsAccessor(_accountId, _credentials)); if (blogAccountDetector.ValidateService()) { BlogInfo blogInfo = blogAccountDetector.DetectAccount(_homepageUrl, null); if (blogInfo != null) { _targetBlog = blogInfo; } _usersBlogs = blogAccountDetector.UsersBlogs; return(true); } else { if (blogAccountDetector.ErrorMessageType != MessageId.None) { DisplayMessage.Show(blogAccountDetector.ErrorMessageType, FindForm(), blogAccountDetector.ErrorMessageParams); } textBoxServerApiUrl.Focus(); return(false); } } } }
public void ShowPanel(string defaultServiceName, string homepageUrl, string accountId, IBlogCredentials credentials) { // save reference to settings _homepageUrl = homepageUrl; _accountId = accountId; _credentials = credentials; // find provider and select it (add it to the combo if necessary) IBlogProviderDescription provider = BlogProviderManager.FindProviderByName(defaultServiceName); if (provider != null) { BlogProviderDescriptionProxy providerProxy = new BlogProviderDescriptionProxy(provider); if (!comboBoxSelectProvider.Items.Contains(providerProxy)) { comboBoxSelectProvider.Items.Add(providerProxy); } comboBoxSelectProvider.SelectedItem = providerProxy; } else { // add the special 'select provider' entry and select it if (!comboBoxSelectProvider.Items.Contains(BlogProviderDescriptionProxy.SelectProvider)) { comboBoxSelectProvider.Items.Add(BlogProviderDescriptionProxy.SelectProvider); } comboBoxSelectProvider.SelectedItem = BlogProviderDescriptionProxy.SelectProvider; } // reset results _targetBlog = null; _usersBlogs = new BlogInfo[] { }; }
public BlogProviderDescriptionProxy(IBlogProviderDescription provider, string postApiUrl) { _provider = provider; _postApiUrl = postApiUrl; }
public BlogProviderDescriptionProxy(IBlogProviderDescription provider) : this(provider, null) { }