/// <summary> /// Creates the species observation grid as a comma separated file (CSV) and saves it on the server. /// </summary> /// <param name="userContext">The user context.</param> /// <param name="data">The data.</param> /// <returns>The filename.</returns> public static string CreateSpeciesObservationGridAsCsvAndStoreOnServer(IUserContext userContext, SpeciesObservationGridResult data) { var speciesObservationGridCsv = new SpeciesObservationGridCsv(); var path = "~/Temp/Export/"; var filename = FileSystemManager.CreateRandomFilenameWithPrefix("data", ".csv"); var absoluteFilePath = FileSystemManager.GetAbsoluteFilePath(path, filename); var taxaName = ((TaxaSettingSummary)MySettingsSummaryItemManager.GetItem(MySettingsSummaryItemIdentifier.FilterTaxa)).GetShortDescription(); FileSystemManager.EnsureFolderExists(path); speciesObservationGridCsv.WriteDataToFile(absoluteFilePath, data, new CoordinateSystem(CoordinateSystemId.WGS84), taxaName); return(filename); }
public void WriteData_DataWithTwoCellResults_DataIsWrittenCsvFormatted() { SpeciesObservationGridCsv speciesObservationGridCsv = new SpeciesObservationGridCsv(); SpeciesObservationGridResult data = CreateSpeciesObservationGridResultSampleData(); CoordinateSystem toCoordinateSystem = new CoordinateSystem(CoordinateSystemId.WGS84); const string taxaName = "All taxa"; using (MemoryStream memoryStream = new MemoryStream()) { speciesObservationGridCsv.WriteDataToStream(memoryStream, data, toCoordinateSystem, taxaName); string actual = Encoding.UTF8.GetString(memoryStream.ToArray()); string expectedResult = @"""occurrenceID"",""nameComplete"",""decimalLatitude"",""decimalLongitude"" ""Grid Cell 1"",""All taxa"",""67.4331616673203"",""21.665551487154"" ""Grid Cell 2"",""All taxa"",""63.6149937978252"",""16.5126895276083"" "; Assert.AreEqual(expectedResult, RemoveBOM(actual)); } }