private void AddAllAvailableDataProviders() { try { SpeciesObservationDataProviderList dataProviders = DataProviderManager.GetAllDataProviders(CoreData.UserManager.GetCurrentUser()); foreach (ISpeciesObservationDataProvider dataProvider in dataProviders) { DataProvidersGuids.Add(dataProvider.Guid); } } catch { } }
/// <summary> /// Gets all data providers as a List of view models. /// </summary> public List <DataProviderViewModel> GetAllDataProviders() { var dataProviders = DataProviderManager.GetAllDataProviders(UserContext); return((from dp in dataProviders select new DataProviderViewModel( dp.Id, dp.Guid, dp.Name, dp.Organization, dp.SpeciesObservationCount, dp.SpeciesObservationCount - dp.NonPublicSpeciesObservationCount, dp.Description, dp.Url) { IsSelected = DataProvidersSetting.DataProvidersGuids.Contains(dp.Guid) }).ToList()); }
/// <summary> /// Make sure saved providers still exists /// </summary> /// <param name="currentUser"></param> public void EnsureDataProviders(IUserContext currentUser) { var myDataProviders = DataProvider; if (myDataProviders != null && myDataProviders.DataProviders != null && myDataProviders.DataProviders.DataProvidersGuids != null) { var removedProviders = new Collection <string>(); var dataProviders = DataProviderManager.GetAllDataProviders(currentUser); foreach (var providerGuid in myDataProviders.DataProviders.DataProvidersGuids) { if (dataProviders.Count(p => p.Guid == providerGuid) == 0) { removedProviders.Add(providerGuid); } } foreach (var removedProvider in removedProviders) { myDataProviders.DataProviders.DataProvidersGuids.Remove(removedProvider); } } }