コード例 #1
0
        /// <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.");
        }