Пример #1
0
        /// <summary>
        /// Creates the view model for SpeciesObservationMap.
        /// </summary>
        /// <returns>A view model for SpeciesObservationMap.</returns>
        public ResultSpeciesObservationMapViewModel CreateResultSpeciesObservationMapViewModel()
        {
            ResultSpeciesObservationMapViewModel    model            = new ResultSpeciesObservationMapViewModel();
            PagedSpeciesObservationResultCalculator resultCalculator = new PagedSpeciesObservationResultCalculator(UserContext, MySettings);

            model.ComplexityEstimate = resultCalculator.GetQueryComplexityEstimate();

            if (MySettings.Filter.Taxa.TaxonIds.Count > 1)
            {
                TaxonTreeViewManager taxonTreeViewManager = new TaxonTreeViewManager(UserContext, MySettings);
                model.CategoryTaxaList = taxonTreeViewManager.GetCategoryTaxaList(MySettings.Filter.Taxa.TaxonIds.ToList());
            }
            else if (MySettings.Filter.Taxa.TaxonIds.Count == 0)
            {
                model.SelectedTaxaDescription = Resource.MySettingsAllTaxaSelected;
            }
            else if (MySettings.Filter.Taxa.TaxonIds.Count == 1)
            {
                // TaxonList taxa = CoreData.TaxonManager.GetTaxa(UserContext, MySettings.Filter.Taxa.TaxonIds.ToList());
                ITaxon         taxon          = CoreData.TaxonManager.GetTaxon(UserContext, MySettings.Filter.Taxa.TaxonIds.First());
                TaxonViewModel taxonViewModel = TaxonViewModel.CreateFromTaxon(taxon);
                model.SelectedTaxaDescription = taxonViewModel.FullName;

                // List<TaxonViewModel> taxonList = taxa.GetGenericList().ToTaxonViewModelList();

                // List<string> strTaxa = taxonList.Select(taxon => taxon.FullName).ToList();

                // model.SelectedTaxaDescription = String.Join(", ", strTaxa).Substring(0, 100) + "...";
            }

            model.AddSpartialFilterLayer = MySettings.Filter.Spatial.HasSettings && MySettings.Filter.Spatial.IsActive;
            return(model);
        }
Пример #2
0
        public void GetQueryComplexityEstimate_EmptyTaxaFilter_SlowQueryEstimation()
        {
            PagedSpeciesObservationResultCalculator resultCalculator;
            QueryComplexityEstimate estimation;

            MockDataSources();
            resultCalculator = new PagedSpeciesObservationResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings);

            estimation = resultCalculator.GetQueryComplexityEstimate();

            Assert.AreEqual(QueryComplexityExecutionTime.Fast, estimation.QueryComplexityExecutionTime);
        }
Пример #3
0
        public void GetResult_EmptyTaxaFilter_SuccessfullyReturnAllTaxa()
        {
            PagedSpeciesObservationResultCalculator resultCalculator;
            List <Dictionary <string, string> >     result;

            LoginApplicationUser(); // to remove this call, you must implement SpeciesObservationDataSourceTestRepository.GetSpeciesObservationFieldDescriptions
            MockSpeciesObservationManager();

            resultCalculator = new PagedSpeciesObservationResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings);

            result = resultCalculator.GetTablePagedResult(0, 25);

            Assert.AreEqual(SpeciesObservationDataSourceTestRepository.AllTaxonIds.Count(), result.Count);
        }
        public ViewTableViewModel CreateViewTableViewModel()
        {
            ViewTableViewModel model = new ViewTableViewModel();
            PagedSpeciesObservationResultCalculator resultCalculator = new PagedSpeciesObservationResultCalculator(UserContext, MySettings);

            model.ComplexityEstimate = resultCalculator.GetQueryComplexityEstimate();

            List <ISpeciesObservationFieldDescription> fields = PresentationTableSetting.SpeciesObservationTable.GetTableFields(UserContext);
            var tableFields = new List <ViewTableField>();

            foreach (ISpeciesObservationFieldDescription field in fields)
            {
                ViewTableField viewTableField = new ViewTableField(field.Label, field.Name.FirstLetterToUpper());
                tableFields.Add(viewTableField);
            }
            model.TableFields = tableFields;
            return(model);
        }