public void CsvExport_SingleObject() { var id = 1; var title = "Hello World!"; var url = "http://hello.world.com"; var summary = "Hello World Summary!"; //Arrange var searchResult = new SearchResult() { Id = id, Url = url, Title = title, Summary = summary }; var searchResults = new List <ISearchResult>() { searchResult }; var expectedCsvResult = "Id,Url,Title,Summary" + winLB + "1,http://hello.world.com,Hello World!,Hello World Summary!" + winLB; //Act csvExport.AddRows <ISearchResult>(searchResults); var csvResult = csvExport.Export(); //Assert Assert.AreEqual(csvResult, expectedCsvResult); }
/// <summary> /// Download the last saved search from App_Data/SearchResult.csv /// </summary> /// <returns></returns> public ActionResult SaveToCsv() { var lastSearchResults = GetLastSearch(); var csvExporter = new CsvExport(); csvExporter.AddRows <ISearchResult>(lastSearchResults); var resultsAsCsv = csvExporter.Export(); return(File(new System.Text.UTF8Encoding().GetBytes(resultsAsCsv), "text/csv", "SearchResult.csv")); }
public static async void Write(List<Product> products, string path) { var csvExport = new CsvExport(); csvExport.AddRows(products.Select(x => new { x.Model, x.Brand, x.DeviceType, x.AdditionalComments })); using (var streamWriter = new StreamWriter(path, false, Encoding.UTF8)) { await streamWriter.WriteAsync(csvExport.Export()); await streamWriter.FlushAsync(); } }
public static async void Write(IEnumerable<ProductReview> reviews, string path) { var csvExport = new CsvExport(); csvExport.AddRows(reviews.Select(x => new { x.Reviewer, x.ScoreMark, x.Recommendation, x.AddedOn, x.ConsideredAsUsefulCount, x.UsefulnessBaseCount, ProductAdventages = string.Join("; ", x.ProductAdventages.Select(productAdventage => productAdventage.Feature)), ProductDisadvantages = string.Join("; ", x.ProductDisadvantages.Select(productDisadvantage => productDisadvantage.Feature)), x.Body })); using (var streamWriter = new StreamWriter(path, false, Encoding.UTF8)) { await streamWriter.WriteAsync(csvExport.Export()); await streamWriter.FlushAsync(); } }