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); }
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)); }