Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [QueueTrigger("chronobank-in")]
- public async Task ProcessInMessage(ChronoBankCashInMsg msg)
- {
- var logTask = _log.WriteInfoAsync(nameof(ChronoBankQueueHandler), nameof(ProcessInMessage), msg.ToJson(),
- "Message received");
- try
- {
- var walletCreds = await _walletCredentialsRepository.GetByChronoBankContractAsync(msg.Contract);
- if (walletCreds == null)
- {
- await
- _log.WriteWarningAsync(nameof(ChronoBankQueueHandler), nameof(ProcessInMessage), msg.ToJson(),
- "Wallet not found");
- return;
- }
- await
- _paymentSystemsRawLog.RegisterEventAsync(
- PaymentSystemRawLogEvent.Create(CashInPaymentSystem.ChronoBank, "Msg received",
- msg.ToJson()));
- var txId = $"{msg.TransactionHash}_{msg.Contract}";
- var pt = await _paymentTransactionsRepository.TryCreateAsync(PaymentTransaction.Create(
- txId, CashInPaymentSystem.ChronoBank, walletCreds.ClientId, msg.Amount,
- LykkeConstants.ChronoBankAssetId, LykkeConstants.ChronoBankAssetId, null));
- if (pt == null)
- {
- await
- _log.WriteWarningAsync(nameof(ChronoBankQueueHandler), nameof(ProcessInMessage), msg.ToJson(),
- "Transaction already handled");
- //return if was handled previously
- return;
- }
- var result = await
- _exchangeOperationsService.IssueAsync(walletCreds.ClientId, LykkeConstants.ChronoBankAssetId,
- msg.Amount);
- if (!result.IsOk())
- {
- await
- _log.WriteWarningAsync(nameof(ChronoBankQueueHandler), msg.ToJson(), result.ToJson(),
- "ME error");
- return;
- }
- await
- _paymentTransactionsRepository.SetAsOkAsync(pt.Id, msg.Amount, null);
- }
- catch (Exception ex)
- {
- await _log.WriteErrorAsync(nameof(ChronoBankQueueHandler), nameof(ProcessInMessage), msg.ToJson(), ex);
- }
- finally
- {
- await logTask;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement