public async Task <ActionResult> CreateWithdrawal([FromBody] AssetWithdrawalData withdrawal) { if (!ModelState.IsValid) { return(BadRequest(new ApiResponse { Status = false, ModelState = ModelState })); } try { var newWithdrawal = await _orderService.AddWithdrawalAsync(withdrawal); if (newWithdrawal == null) { return(BadRequest(new ApiResponse { Status = false })); } else { return(Ok(new ApiResponse { Status = true, Withdrawal = newWithdrawal })); } } catch (Exception exp) { _logger.LogError(exp.Message); return(BadRequest(new ApiResponse { Status = false })); } }
public AssetWithdrawalData AddWithdrawal(AssetWithdrawalData withdrawalRequest) { lock (WithdrawalRequestLock) { //withdrawalRequest.referenceId = Guid.NewGuid().ToString(); WithdrawalRequests.TryAdd(withdrawalRequest.referenceId, withdrawalRequest); Console.WriteLine("Asset Withdrawal Notification {0} Added", withdrawalRequest.referenceId); AssetTransferData newTransfer = new AssetTransferData(); newTransfer.clientId = withdrawalRequest.clientId; newTransfer.referenceId = withdrawalRequest.referenceId; newTransfer.assetId = withdrawalRequest.tokenId.Substring(1); newTransfer.assetAmount = withdrawalRequest.amount; newTransfer.transferStatus = TransferStatusEnum.InProgress; newTransfer.transferType = TransferTypeEnum.Withdrawal; newTransfer.tokenId = withdrawalRequest.tokenId; newTransfer.tokenAmount = withdrawalRequest.amount; switch (newTransfer.clientId) { case 1: newTransfer.forAccountOf = "TradezDigital"; break; case 4: newTransfer.forAccountOf = "VinceSmall"; break; case 5: newTransfer.forAccountOf = "MarkVanRoon"; break; default: newTransfer.forAccountOf = String.Format("Abacas Exchange Client {0}", newTransfer.clientId); break; } lock (AssetTransferLock) { AssetTransfers.TryAdd(newTransfer.referenceId, newTransfer); Console.WriteLine("Asset Withdrawal Transfer Added {0}", newTransfer.referenceId); } } return(withdrawalRequest); }
public Task <AssetWithdrawalData> AddWithdrawalAsync(AssetWithdrawalData withdrawalRequest) { return(_orderServiceClient.AddWithdrawalAsync(withdrawalRequest)); }
public void WithdrawalAdded(AssetWithdrawalData withdrawalData) { Console.WriteLine("Withdrawal of {0} {1} with Reference {2} Added", withdrawalData.tokenId, withdrawalData.amount, withdrawalData.referenceId); }