Example #1
0
        public ActionResult DefaultStraightFile(string taxonId)
        {
            TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId);

            if (searchResult.NumberOfMatches != 1)
            {
                return(RedirectToSearch(taxonId));
            }

            ITaxon taxon = searchResult.Taxon;

            this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id);
            ViewBag.Taxon        = taxon;
            var model = ExportViewModel.Create(GetCurrentUser(), taxon, false);

            var manager = new ExportManager(model, GetCurrentUser());

            manager.CreateExportItems();
            ExcelFileFormat fileFormat = ExcelFileFormat.OpenXml;

            var          fileDownloadName = GetValidFileName(taxon.ScientificName) + ExcelFileFormatHelper.GetExtension(fileFormat);
            MemoryStream excelFileStream  = manager.CreateExcelFile(fileFormat);
            var          fileStreamResult = new FileStreamResult(excelFileStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

            fileStreamResult.FileDownloadName = fileDownloadName;

            return(fileStreamResult);
        }
Example #2
0
        public ActionResult TaxonList(ExportViewModel model, List <int> filterTaxonCategories, List <int> outputTaxonCategories, List <int> outputTaxonNames, List <int> filterSwedishOccurrence, List <int> filterSwedishHistory, string downloadTokenValue)
        {
            if (filterTaxonCategories != null && filterTaxonCategories.Count > 0)
            {
                filterTaxonCategories.Remove(model.AllTaxonCategoryId);
            }

            if (filterTaxonCategories == null || filterTaxonCategories.Count == 0)
            {
                ModelState.AddModelError(string.Empty, "No category is selected");
            }
            ITaxon taxon = CoreData.TaxonManager.GetTaxon(GetCurrentUser(), model.TaxonId);

            if (ModelState.IsValid)
            {
                model.ReInitialize(GetCurrentUser(), taxon, false, filterTaxonCategories, outputTaxonCategories, outputTaxonNames, filterSwedishOccurrence, filterSwedishHistory);

                var manager = new ExportManager(model, GetCurrentUser());
                manager.CreateExportItems();
                ExcelFileFormat fileFormat       = ExcelFileFormat.OpenXml;
                MemoryStream    excelFileStream  = manager.CreateExcelFile(fileFormat);
                var             fileStreamResult = new FileStreamResult(excelFileStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
                var             fileDownloadName = GetValidFileName(taxon.ScientificName) + ExcelFileFormatHelper.GetExtension(fileFormat);
                fileStreamResult.FileDownloadName = fileDownloadName;
                Response.AppendCookie(new HttpCookie("fileDownloadToken", downloadTokenValue));
                return(fileStreamResult);
            }

            model = ExportViewModel.Create(GetCurrentUser(), taxon, false);
            return(View(model));
        }