@@ -104,7 +104,7 @@ public async Task ProcessRentalReportUploadAsync(DssUploadDelivery upload)
104
104
105
105
while ( csv . Read ( ) )
106
106
{
107
- // if (processedCount >= linesPerJob ) break; //To process x lines per job
107
+ if ( processedCount >= 500 ) break ; //To process x lines per job
108
108
109
109
count ++ ;
110
110
isLastLine = count == lineCount ;
@@ -136,24 +136,29 @@ public async Task ProcessRentalReportUploadAsync(DssUploadDelivery upload)
136
136
_logger . LogInformation ( $ "Finishing listing ({ row . OrgCd } - { row . ListingId } ): { stopwatch . Elapsed . TotalMilliseconds } milliseconds - { processedCount } /{ lineCount } ") ;
137
137
}
138
138
139
+ // Because we may be processing these uploads in blocks of 500, we need to do some running totals and update the upload record with the stats we need.
140
+ var totalProcessed = upload . UploadLinesProcessed + processedCount ;
141
+ var totalRegErrors = upload . RegistrationLinesError + regErrorCount ;
142
+ var totalErrors = upload . UploadLinesError + errorCount ;
143
+
144
+ // Update the delivery record with the stats we need.
145
+ upload . UploadStatus = totalProcessed == lineCount ? UploadStatus . Processed : UploadStatus . Pending ; // Current logic has only processed or pending for this upload
146
+ upload . RegistrationStatus = totalProcessed == lineCount ? totalRegErrors > 0 ? UploadStatus . Failed : UploadStatus . Processed : UploadStatus . Pending ;
147
+ upload . UploadLinesTotal = lineCount ;
148
+ upload . UploadLinesProcessed = totalProcessed ;
149
+ upload . UploadLinesSuccess = totalProcessed - totalErrors ;
150
+ upload . UploadLinesError = totalErrors ;
151
+ upload . RegistrationLinesSuccess = totalProcessed - totalRegErrors ;
152
+ upload . RegistrationLinesError = regErrorCount ;
153
+ _unitOfWork . Commit ( ) ;
154
+
139
155
if ( ! isLastLine )
140
156
{
141
157
processStopwatch . Stop ( ) ;
142
158
_logger . LogInformation ( $ "Processed { processedCount } lines: { report . ReportPeriodYm . ToString ( "yyyy-MM" ) } , { report . ProvidingOrganization . OrganizationNm } - { processStopwatch . Elapsed . TotalSeconds } seconds") ;
143
159
return ;
144
160
}
145
161
146
- // Update the delivery record with the stats we need.
147
- upload . UploadStatus = errorCount > 0 ? UploadStatus . Failed : UploadStatus . Processed ;
148
- upload . RegistrationStatus = regErrorCount > 0 ? UploadStatus . Failed : UploadStatus . Processed ;
149
- upload . UploadLinesTotal = lineCount ;
150
- upload . UploadLinesProcessed = processedCount ;
151
- upload . UploadLinesSuccess = processedCount - errorCount ;
152
- upload . UploadLinesError = errorCount ;
153
- upload . RegistrationLinesSuccess = processedCount - regErrorCount ;
154
- upload . RegistrationLinesError = regErrorCount ;
155
- _unitOfWork . Commit ( ) ;
156
-
157
162
if ( errorCount > 0 )
158
163
{
159
164
if ( upload . UpdUserGuid == null ) return ;
0 commit comments