public async Task HandleEvent(NewRegistrationIntegrationEvent integrationEvent) { var user = await _userDataManager.AddUserIfNeeded(integrationEvent.RecipiantId); var transactionModel = new Transaction { ObjectId = integrationEvent.ObjectId, ReceipientId = user.UserId, RegisteredAtUtc = integrationEvent.RegisteredAt, Status = TransactionStatus.Ok, TransactionId = integrationEvent.RegistrationId }; try { _transactionsRepo.Add(transactionModel); await _transactionsRepo.SaveChangesAsync(); } catch(Exception e) { _logger.LogError(e, "A NewRegistrationIntegrationEvent has arraived but couldn't handle it"); } }