private void newBookingCreatedAnalysis(BaseAnalysisResult output, string rawText, long currentLineNumberStart, long currentLineNumber, string sourceName) { var newAccountCreated = output as NewBookingCreatedAnalysis; if (newAccountCreated != null) { // Need logic below for times when TransactionId is not in the request. var theBooking = Bookings.FirstOrDefault(b => string.IsNullOrEmpty(b.TransactionId)); if (theBooking == null) { theBooking = Bookings.FirstOrDefault(b => b.TransactionId == newAccountCreated.ClientTransactionId); } else { theBooking.TransactionId = newAccountCreated.ClientTransactionId; } theBooking.AccountId = newAccountCreated.AccountId; newAccountCreated.MiscTraceDataAnalysis.StartLineNumber = currentLineNumber; newAccountCreated.MiscTraceDataAnalysis.EndLineNumber = currentLineNumber; theBooking.MiscellaneousTraceData.Add(newAccountCreated.MiscTraceDataAnalysis); } }
private void consumeParserOutput(BaseAnalysisResult output, string rawText, long currentLineNumberStart, long currentLineNumber, string sourceName) { if (output == null) { return; } OutputConsumers[output.GetType()]?.Invoke(output, rawText, currentLineNumberStart, currentLineNumber, sourceName); }
private void miscTraceDataAnalysis(BaseAnalysisResult output, string rawText, long currentLineNumberStart, long currentLineNumber, string sourceName) { var miscTraceData = output as MiscellaneousTraceDataAnalysis; if (miscTraceData != null) { miscTraceData.Source = sourceName; miscTraceData.StartLineNumber = currentLineNumber; miscTraceData.EndLineNumber = currentLineNumber; var theBooking = Bookings.FirstOrDefault(b => b.AccountId == miscTraceData.AccountId); theBooking?.MiscellaneousTraceData.Add(miscTraceData); } }
private void consumeBookingAnalysis(BaseAnalysisResult output, string rawText, long currentLineNumberStart, long currentLineNumber, string sourceName) { var booking = output as BookingAnalysis; if (booking != null) { if (!Bookings.Exists(b => b.TransactionId == booking.TransactionId)) { booking.Source = sourceName; booking.StartLineNumber = currentLineNumberStart; booking.EndLineNumber = currentLineNumber; Bookings.Add(booking); } } }
private void reservationConfirmationAnalysis(BaseAnalysisResult output, string rawText, long currentLineNumberStart, long currentLineNumber, string sourceName) { var reservationConfirmation = output as ReservationConfirmationAnalysis; if (reservationConfirmation != null) { var theBooking = Bookings.FirstOrDefault(b => b.AccountId == reservationConfirmation.AccountId); if (theBooking != null) { reservationConfirmation.Source = sourceName; reservationConfirmation.StartLineNumber = currentLineNumber; reservationConfirmation.EndLineNumber = currentLineNumber; theBooking.Confirmation = reservationConfirmation; } } }