public async Task <AuthenticationResult> Restore(MusicService service) { ServiceBeginAuthenticating(service); try { return(new AuthenticationResult(service, await service.AsAuthenticatable().RestoreAsync(), null)); } catch (Exception ex) { return(new AuthenticationResult(service, false, ex)); } finally { ServiceEndAuthenticating(service); } }
public ServiceSettingsView(PluginInstance servicePlugin) { this.servicePlugin = servicePlugin; service = servicePlugin.Service; authenticatable = service.AsAuthenticatable(); InitializeComponent(); if (authenticatable == null) { authPanel.Visible = false; } else { UpdateLabels(); } var control = service.GetSettingsControl(); control.Dock = DockStyle.Fill; servicePanel.Controls.Add(control); }
private void servicesListBox_SelectedIndexChanged(object sender, EventArgs e) { selectedInstance = services[servicesListBox.SelectedIndex]; selectedService = selectedInstance.Service; serviceUiPanel.Controls.Clear(); if (selectedService.AsAuthenticatable() != null) { var ssv = new ServiceSettingsView(selectedInstance) { Dock = DockStyle.Fill }; serviceUiPanel.Controls.Add(ssv); } else { serviceUiPanel.Controls.Add(selectedService.GetSettingsControl()); } serviceNameLabel.Text = selectedService.Info.Name; serviceDescriptionLabel.Text = selectedService.Info.Description; serviceAuthorLabel.Text = selectedService.Info.Author; serviceWebsiteLabel.Text = selectedService.Info.Website.ToString(); }