11using MediatR ;
22using TransactionProcessor . Mobile . BusinessLogic . Database ;
3+ using TransactionProcessor . Mobile . BusinessLogic . Models ;
34using TransactionProcessor . Mobile . BusinessLogic . Requests ;
45using TransactionProcessor . Mobile . BusinessLogic . Services ;
6+ using LogMessage = TransactionProcessor . Mobile . BusinessLogic . Database . LogMessage ;
57
68namespace TransactionProcessor . Mobile . BusinessLogic . RequestHandlers
79{
@@ -25,28 +27,27 @@ public SupportRequestHandler(Func<Boolean, IConfigurationService> configurationS
2527 public async Task < Boolean > Handle ( UploadLogsRequest request , CancellationToken cancellationToken )
2628 {
2729 Boolean useTrainingMode = this . ApplicationCache . GetUseTrainingMode ( ) ;
30+ Configuration configuration = this . ApplicationCache . GetConfiguration ( ) ;
31+ while ( true ) {
32+ IConfigurationService configurationService = this . ConfigurationServiceResolver ( useTrainingMode ) ;
2833
29- while ( true )
30- {
31- List < LogMessage > logEntries = await this . DatabaseContext . GetLogMessages ( 10 , useTrainingMode ) ; // TODO: Configurable batch size
34+ List < LogMessage > logEntries = await this . DatabaseContext . GetLogMessages ( configuration . LogMessageBatchSize . GetValueOrDefault ( 10 ) , useTrainingMode ) ;
3235
33- if ( logEntries . Any ( ) == false )
34- {
36+ if ( logEntries . Any ( ) == false ) {
3537 break ;
3638 }
3739
38- List < Models . LogMessage > logMessageModels = new List < Models . LogMessage > ( ) ;
40+ List < Models . LogMessage > logMessageModels = new ( ) ;
3941
40- logEntries . ForEach ( l => logMessageModels . Add ( new Models . LogMessage
41- {
42+ logEntries . ForEach ( l => logMessageModels . Add ( new Models . LogMessage {
4243 LogLevel = Enum . Parse < Models . LogLevel > ( l . LogLevel ) ,
4344 LogLevelString = l . LogLevel ,
4445 Message = l . Message ,
4546 EntryDateTime = l . EntryDateTime ,
4647 Id = l . Id
4748 } ) ) ;
4849
49- IConfigurationService configurationService = this . ConfigurationServiceResolver ( useTrainingMode ) ;
50+
5051 await configurationService . PostDiagnosticLogs ( request . DeviceIdentifier , logMessageModels , CancellationToken . None ) ;
5152
5253 // Clear the logs that have been uploaded
@@ -60,9 +61,9 @@ public async Task<Boolean> Handle(UploadLogsRequest request, CancellationToken c
6061 CancellationToken cancellationToken ) {
6162 Boolean useTrainingMode = this . ApplicationCache . GetUseTrainingMode ( ) ;
6263
63- List < LogMessage > logEntries = await this . DatabaseContext . GetLogMessages ( 50 , useTrainingMode ) ; // TODO: Configurable batch size
64+ List < LogMessage > logEntries = await this . DatabaseContext . GetLogMessages ( 50 , useTrainingMode ) ;
6465
65- List < Models . LogMessage > logMessageModels = new List < Models . LogMessage > ( ) ;
66+ List < Models . LogMessage > logMessageModels = new ( ) ;
6667
6768 logEntries . ForEach ( l => logMessageModels . Add ( new Models . LogMessage {
6869 LogLevel = Enum . Parse < Models . LogLevel > ( l . LogLevel ) ,
0 commit comments