/// <summary> /// Exports the providers to a serialization object /// </summary> /// <returns></returns> internal SerializableAPIProviders Export() { var serial = new SerializableAPIProviders { CurrentProviderName = CurrentProvider.Name }; // Providers foreach (var provider in CustomProviders) { var serialProvider = new SerializableAPIProvider { Name = provider.Name, Url = provider.Url }; serial.CustomProviders.Add(serialProvider); // Methods serialProvider.Methods.Clear(); foreach (var method in provider.Methods) { serialProvider.Methods.Add(new SerializableAPIMethod { Method = method.Method, Path = method.Path }); } } return(serial); }
/// <summary> /// Update the providers with the provided serialization object /// </summary> /// <param name="sProviders"></param> internal void Import(SerializableAPIProviders serial) { m_customProviders.Clear(); m_currentProvider = DefaultProvider; // Providers foreach (var sProvider in serial.CustomProviders) { var provider = new APIProvider(); provider.Name = sProvider.Name; provider.Url = sProvider.Url; // Providers' methods foreach (var sMethod in sProvider.Methods) { var method = provider.GetMethod(sMethod.Method); if (method != null) { method.Path = sMethod.Path; } } // Add this provider to our inner list m_customProviders.Add(provider); } // Current provider var newCurrentProvider = this[serial.CurrentProviderName]; if (newCurrentProvider != null) { m_currentProvider = newCurrentProvider; } }
public APISettingsForm(SerializableAPIProviders providers, SerializableAPIProvider newProvider) { InitializeComponent(); m_providers = providers; m_provider = newProvider; }