/// <summary> /// Generate Csv Report /// </summary> /// <param name="tradesGroups"></param> public void GenerateCsvReport(IOrderedEnumerable <TradesGroupModel> tradesGroups) { Logger.Info("Generating report..."); var sb = new StringBuilder(); try { sb.AppendLine(Header); //headers foreach (var tradesGroup in tradesGroups) //build report data { sb.AppendLine($"{tradesGroup.CorrelationId};{tradesGroup.NumberOfTrades};{tradesGroup.State}"); } var outputPath = _outputCsvFileWrapper.GetOutputCsvFilePath(); //output path _csvFileCreator.CreateCsvFile(outputPath, sb.ToString()); //create csv file } catch (System.Exception ex) { Logger.Error(ex.Message, ex); throw; } Logger.Info("Report generated."); }