public static SpeciesObservationDataProviderList GetAllDataProviders(IUserContext userContext, out bool providersWithObservationDisabled) { providersWithObservationDisabled = false; var dataProviders = CoreData.SpeciesObservationManager.GetSpeciesObservationDataProviders(userContext); var disabledProviderGuidsString = ConfigurationHelper.GetValue("DisableDataProviders", string.Empty); var disabledProviderGuids = new string[0]; if (disabledProviderGuidsString != null) { disabledProviderGuids = disabledProviderGuidsString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToArray(); } //Populate a new list since removing items from orginal list affect cached list var returnList = new SpeciesObservationDataProviderList(); foreach (var dataProvider in dataProviders) { if (disabledProviderGuids.Count(dpg => dpg == dataProvider.Guid) == 0) { returnList.Add(dataProvider); } else if (!providersWithObservationDisabled) { //Set flag to true if any disabled provider has observations providersWithObservationDisabled = dataProvider.SpeciesObservationCount != 0; } } return(returnList); }
/// <summary> /// Set species observation data providers for specified locale. /// </summary> /// <param name="speciesObservationDataProviders">Species observation data providers.</param> /// <param name="locale">Locale.</param> protected override void SetSpeciesObservationDataProviders(SpeciesObservationDataProviderList speciesObservationDataProviders, ILocale locale) { lock (SpeciesObservationDataProviders) { SpeciesObservationDataProviders[locale.ISOCode] = speciesObservationDataProviders; } }
/// <summary> /// Get all species observation data providers for specified locale. /// </summary> /// <param name="locale">Locale.</param> /// <returns>All species observation data providers for specified locale.</returns> protected override SpeciesObservationDataProviderList GetSpeciesObservationDataProviders(ILocale locale) { SpeciesObservationDataProviderList speciesObservationDataProviderList = null; lock (SpeciesObservationDataProviders) { if (SpeciesObservationDataProviders.ContainsKey(locale.ISOCode)) { speciesObservationDataProviderList = (SpeciesObservationDataProviderList)(SpeciesObservationDataProviders[locale.ISOCode]); } } return(speciesObservationDataProviderList); }
private void AddAllAvailableDataProviders() { try { SpeciesObservationDataProviderList dataProviders = DataProviderManager.GetAllDataProviders(CoreData.UserManager.GetCurrentUser()); foreach (ISpeciesObservationDataProvider dataProvider in dataProviders) { DataProvidersGuids.Add(dataProvider.Guid); } } catch { } }
private void StubDataSourceAndManagerData() { int testRoleId = 3333; int testApplicationRoleId = 4444; UserDataSource userDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubUserDataSource() { }; IUserManager testUserManager = new ArtDatabanken.Data.Fakes.StubIUserManager() { LoginStringStringStringBoolean = (userName, password, applicationIdentifier, isActivationRequired) => { return(this.userContext); }, LoginStringStringString = (userName, password, applicationIdentifier) => { return (this.applicationUserContext); } }; CoreData.UserManager = testUserManager; CoreData.UserManager.DataSource = userDataSource; // CoreData.UserManager.DataSource = userDataSource; CoreData.OrganizationManager.DataSource = userDataSource; CountryDataSource countryDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubCountryDataSource(); CoreData.CountryManager.DataSource = countryDataSource; LocaleDataSource localeDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubLocaleDataSource(); { } ApplicationDataSource applicationDataSource = new ArtDatabanken.WebService.Client.UserService.Fakes.StubApplicationDataSource(); CoreData.ApplicationManager.DataSource = applicationDataSource; ReferenceDataSource referenceDataSource = new ArtDatabanken.WebService.Client.ReferenceService.Fakes.StubReferenceDataSource(); CoreData.ReferenceManager.DataSource = referenceDataSource; TaxonDataSource taxonDataSource = new ArtDatabanken.WebService.Client.TaxonService.Fakes.StubTaxonDataSource(); ITaxonManager testTaxonManager = new ArtDatabanken.Data.Fakes.StubITaxonManager() { }; CoreData.TaxonManager = testTaxonManager; CoreData.TaxonManager.DataSource = taxonDataSource; SpeciesObservationDataProviderList dataProviders = new SpeciesObservationDataProviderList(); dataProviders.Add(new SpeciesObservationDataProvider()); SpeciesObservationDataSource speciesObservationDataSource = new ArtDatabanken.WebService.Client.SpeciesObservationService.Fakes.StubSpeciesObservationDataSource() { // public SpeciesObservationFieldDescriptionList GetSpeciesObservationFieldDescriptions(IUserContext userContext) }; SpeciesObservationManager testSpeciesObservationManager = new ArtDatabanken.Data.Fakes.StubSpeciesObservationManager() { GetSpeciesObservationDataProvidersIUserContext = (context) => { return(dataProviders); } }; CoreData.SpeciesObservationManager = testSpeciesObservationManager; CoreData.SpeciesObservationManager.DataSource = speciesObservationDataSource; CoreData.MetadataManager.SpeciesObservationDataSource = speciesObservationDataSource; RegionDataSource regionDataSource = new ArtDatabanken.WebService.Client.GeoReferenceService.Fakes.StubRegionDataSource(); CoreData.RegionManager.DataSource = regionDataSource; AnalysisDataSource analysisDataSource = new ArtDatabanken.WebService.Client.AnalysisService.Fakes.StubAnalysisDataSource(); CoreData.AnalysisManager.DataSource = analysisDataSource; this.StubApplicationUserContex(testApplicationRoleId); this.StubUserContext(testRoleId); LocaleList usedLocales = new LocaleList(); ILocale testSvLocale = new Locale( AnalysisPortalTestSettings.Default.SwedishLocaleId, AnalysisPortalTestSettings.Default.SwedishLocale, AnalysisPortalTestSettings.Default.SwedishNameString, AnalysisPortalTestSettings.Default.SvenskNameString, new DataContext(this.userContext)); usedLocales.Add(testSvLocale); LocaleManager testLocaleManager = new ArtDatabanken.Data.Fakes.StubLocaleManager() { GetUsedLocalesIUserContext = (context) => { return(usedLocales); }, GetDefaultLocaleIUserContext = (context) => { return (testSvLocale); } }; CoreData.LocaleManager = testLocaleManager; CoreData.LocaleManager.DataSource = localeDataSource; }