private void SendLoanEvent(LoanCDCRecord cdc) { switch (cdc.Operation) { case CDCOperation.Delete: var loanDeletedEvent = new LoanDeletedEvent { CorrelationId = Guid.NewGuid().ToString(), LoanId = cdc.LoanId, ChangeId = cdc.ChangeId }; // publish Event PublishLoanDeletedEvent?.Invoke(this, new LoanPublishEventArgs <LoanDeletedEvent>(loanDeletedEvent)); break; case CDCOperation.Insert: case CDCOperation.Upsert: case CDCOperation.UpdateAfterChange: case CDCOperation.UpdateBeforeChange: var loanUpsertEvent = new LoanUpsertEvent { CorrelationId = Guid.NewGuid().ToString(), LoanId = cdc.LoanId, AmountInPennies = cdc.AmountInPennies, //getting UtcNow repeatedly means the time will be going up. we may want to get it from the EventBatchDate in the DB EventDateTime = DateTime.UtcNow, PropertyId = cdc.PropertyId, RequestedCloseDate = cdc.RequestedCloseDate, ChangeId = cdc.ChangeId }; // publish Event var args = new LoanPublishEventArgs <LoanUpsertEvent>(loanUpsertEvent); PublishLoanUpsertEvent?.Invoke(this, args); break; } }
private void LoanChangeDetector_PublishLoanDeletedEvent(object sender, LoanPublishEventArgs <LoanDeletedEvent> loanDeletedEvent) { // throw new NotImplementedException(); }