88 primaryWriter : Console . Out ) ;
99var outWriters = new OutWriters ( teeTextWriter , new StringWriter ( ) , new StringWriter ( ) ) ;
1010
11- ProcessUtils . PrintEnvironmentAndSettings ( outWriters . Default ) ;
11+ ProcessUtils . PrintEnvironmentAndSettings ( outWriters . Default , teeTextWriter . FilePath ) ;
1212
1313var basics = new Basics ( Path . Combine ( appBaseDirectory , "Reports" ) ) ;
1414var fxRatesFilePath = Path . Combine ( basics . ReportsDirectoryPath , basics . FXRatesFilePath ) ;
1717var cryptoPortfolioValuesFilePath = Path . Combine ( basics . ReportsDirectoryPath , basics . CryptoPortfolioValuesFilePath ) ;
1818var cryptoPortfolioValues = new CryptoPortfolioValues ( basics , fxRates , cryptoPortfolioValuesFilePath ) ;
1919
20+ await outWriters . Default . WriteLineAsync ( "" ) ;
2021await outWriters . Default . WriteLineAsync ( "# STOCKS" ) ;
22+ await outWriters . Default . WriteLineAsync ( "" ) ;
23+ await outWriters . Default . WriteLineAsync ( "## Parsing files" ) ;
24+ await outWriters . Default . WriteLineAsync ( "" ) ;
2125var stockEventsReader = new StockEventsReader ( basics ) ;
2226basics . StockEventsFiles
2327 . FindEventsFiles ( basics , outWriters )
2428 . SelectMany ( eventsFileAndBroker => stockEventsReader
2529 . Parse ( eventsFileAndBroker . FilePath , fxRates , eventsFileAndBroker . Broker , outWriters . Default ) )
26- . PrintEachElement ( outWriters . Default , @event => $ "Parsing Event { @event } ...")
30+ . PrintEachElement ( outWriters . Default , @event => $ " - Parsing Event { @event } ...")
2731 . ToList ( )
2832 . ProcessEvents ( basics , cryptoPortfolioValues , outWriters ) ;
2933
34+ await outWriters . Default . WriteLineAsync ( "" ) ;
3035await outWriters . Default . WriteLineAsync ( "# CRYPTO" ) ;
36+ await outWriters . Default . WriteLineAsync ( "" ) ;
37+ await outWriters . Default . WriteLineAsync ( "## Parsing files" ) ;
38+ await outWriters . Default . WriteLineAsync ( "" ) ;
3139var cryptoEventsReader = new CryptoEventsReader ( basics ) ;
3240basics . CryptoEventsFiles
3341 . FindEventsFiles ( basics , outWriters )
3442 . SelectMany ( eventsFileAndBroker => cryptoEventsReader
3543 . ParseFile ( eventsFileAndBroker . FilePath , fxRates , eventsFileAndBroker . Broker , outWriters . Default ) )
36- . PrintEachElement ( outWriters . Default , @event => $ "Parsing Event { @event } ...")
44+ . PrintEachElement ( outWriters . Default , @event => $ " - Parsing Event { @event } ...")
3745 . ToList ( )
3846 . ProcessEvents ( basics , cryptoPortfolioValues , outWriters ) ;
3947
@@ -47,12 +55,15 @@ public static IEnumerable<EventsFileAndBroker> FindEventsFiles(this IEnumerable<
4755 . EnsureNonEmpty ( )
4856 . Select ( path => new EventsFileAndBroker ( path , eventsFiles . Broker ) ) )
4957 . OrderBy ( eventsFileAndBroker => eventsFileAndBroker . FilePath )
50- . PrintEachElement ( outWriters . Default , filePath => $ "Parsing File { filePath } ...") ;
58+ . PrintEachElement ( outWriters . Default , efb => $ "- Parsing File { System . IO . Path . GetFileName ( efb . FilePath ) } ...") ;
5159
5260 public static void ProcessEvents ( this IList < Event > events , Basics basics , CryptoPortfolioValues cryptoPortfolioValues , OutWriters outWriters )
5361 {
5462 var tickerProcessing = new TickerProcessing ( basics , cryptoPortfolioValues ) ;
5563
64+ outWriters . Default . WriteLine ( ) ; // Empty line before H2
65+ outWriters . Default . WriteLine ( "## Process events" ) ;
66+
5667 // Taken into account in each ticker
5768 var nonTickerRelatedEvents = (
5869 from e in events
@@ -72,6 +83,9 @@ from e in eventsByTicker
7283 select tickerProcessing . ProcessTicker ( e . ticker , e . tickerEvents , outWriters ) )
7384 . ToList ( ) ;
7485
86+ outWriters . Default . WriteLine ( ) ;
87+ outWriters . Default . WriteLine ( "## Aggregated Metrics" ) ;
88+ outWriters . Default . WriteLine ( ) ;
7589 tickerStates . PrintAggregatedMetrics ( outWriters . Default , basics ) ;
7690
7791 var anyCryptoEvent = events . Any ( e =>
@@ -84,10 +98,16 @@ select tickerProcessing.ProcessTicker(e.ticker, e.tickerEvents, outWriters))
8498 case ( true , true ) :
8599 throw new InvalidOperationException (
86100 $ "Cannot process crypto and non-crypto events at the same time. Please split them into different { nameof ( ProcessEvents ) } executions.") ;
87- case ( true , false ) :
101+ case ( true , false ) : // Crypto case -> 2086 Form
102+ outWriters . Default . WriteLine ( ) ;
103+ outWriters . Default . WriteLine ( "## 2086 Form" ) ;
104+ outWriters . Default . WriteLine ( ) ;
88105 outWriters . Default . Write ( outWriters . Form2086Writer . ToString ( ) ) ;
89106 break ;
90- case ( false , true ) :
107+ case ( false , true ) : // Stocks case -> 2074 Form
108+ outWriters . Default . WriteLine ( ) ;
109+ outWriters . Default . WriteLine ( "## 2074 Form" ) ;
110+ outWriters . Default . WriteLine ( ) ;
91111 outWriters . Default . Write ( outWriters . Form2047Writer . ToString ( ) ) ;
92112 break ;
93113 case ( false , false ) :
0 commit comments