Esempio n. 1
0
        /// <summary>
        /// Creates the view model for TimeSeriesDiagramOnSpeciesObservationAbundanceIndex.
        /// </summary>
        /// <returns>A view model for TimeSeriesDiagramOnSpeciesObservationAbundanceIndex.</returns>
        public ResultTimeSeriesOnSpeciesObservationCountsViewModel CreateResultTimeSeriesDiagramOnSpeciesObservationAbundanceIndexViewModel()
        {
            var model = new ResultTimeSeriesOnSpeciesObservationCountsViewModel();
            SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(UserContext, MySettings);

            model.ComplexityEstimate = resultCalculator.GetQueryComplexityEstimate();
            model.NoOfTaxa           = settings.Filter.Taxa.NumberOfSelectedTaxa;
            TaxonList taxonList = CoreData.TaxonManager.GetTaxa(UserContext, MySettings.Filter.Taxa.TaxonIds.ToList());

            model.SelectedTaxa = taxonList.GetGenericList().ToTaxonViewModelList();
            return(model);
        }
Esempio n. 2
0
        public void GetResult_Add1TaxonToFilter_Always0AbundanceIndexForSpecificTaxaPerYear()
        {
            // Arrange
            SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator;
            List <AbundanceIndexData> result;

            LoginApplicationUser();
            SessionHandler.MySettings.Filter.Taxa.AddTaxonId(5);
            resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings);
            // Act
            result = resultCalculator.CalculateAbundanceIndex(0, SessionHandler.MySettings.Filter.Taxa.TaxonIds[0]);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count > 0);
            foreach (AbundanceIndexData abundanceIndexData in result)
            {
                Assert.IsNull(abundanceIndexData.AbundanceIndex); // the logarithmic value (Value) is always Null if only 1 taxon is selected
                Assert.IsTrue(!string.IsNullOrEmpty(abundanceIndexData.TimeStep));
            }
        }
        /// <summary>
        /// Creates an excel file.
        /// Writes the content of a list into a worksheet of an excelfile and save the file.
        /// </summary>
        /// <param name="autosizeColumnWidth">
        /// If true, the columns will be autosized.
        /// </param>
        /// <returns>
        /// The <see cref="MemoryStream"/>.
        /// </returns>
        private MemoryStream CreateExcelFile(bool autosizeColumnWidth = false)
        {
            var memoryStream = new MemoryStream();

            try
            {
                using (ExcelPackage package = new ExcelPackage(memoryStream))
                {
                    var calculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(currentUser, SessionHandler.MySettings);
                    var data       = calculator.GetAbundanceIndexDataResults((int)_periodicity);

                    // Add a new worksheet to the empty workbook.
                    // The name of the sheet can not be longer than 31 characters.
                    var worksheet = package.Workbook.Worksheets.Add("SLW Data");
                    AddHeaders(worksheet);
                    AddSpeciesObservationsData(worksheet, data);
                    FormatHeader(worksheet, 1, 6);

                    if (autosizeColumnWidth)
                    {
                        worksheet.Cells.AutoFitColumns(0);
                    }

                    //Add aditional sheets if user has request that
                    AddAditionalSheets(package);

                    package.Save();
                }

                memoryStream.Position = 0;
                return(memoryStream);
            }
            catch (Exception)
            {
                memoryStream.Dispose();

                throw;
            }
        }
Esempio n. 4
0
        public void GetResult_AddMultipleTaxonToFilter_ReturnedValueIsDouble_PerYear()
        {
            // Arrange
            SpeciesObservationAbundanceIndexDiagramResultCalculator resultCalculator;
            List <AbundanceIndexData> result;

            LoginApplicationUser();
            SessionHandler.MySettings.Filter.Taxa.AddTaxonIds(new List <int> {
                5, 6, 8, 14, 22, 25
            });
            resultCalculator = new SpeciesObservationAbundanceIndexDiagramResultCalculator(SessionHandler.UserContext, SessionHandler.MySettings);
            // Act
            result = resultCalculator.CalculateAbundanceIndex(0, SessionHandler.MySettings.Filter.Taxa.TaxonIds[0]);
            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count > 0);
            foreach (AbundanceIndexData abundanceIndexData in result)
            {
                if (abundanceIndexData.AbundanceIndex.HasValue)
                {
                    Assert.IsTrue(abundanceIndexData.AbundanceIndex > -2); // Value contains the logarithmic value, it seems it is always greater than -2
                }
            }
        }