Example #1
0
        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
                }));
            }
        }
Example #2
0
        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);
        }
Example #3
0
 public Task <AssetWithdrawalData> AddWithdrawalAsync(AssetWithdrawalData withdrawalRequest)
 {
     return(_orderServiceClient.AddWithdrawalAsync(withdrawalRequest));
 }
Example #4
0
 public void WithdrawalAdded(AssetWithdrawalData withdrawalData)
 {
     Console.WriteLine("Withdrawal of {0} {1} with Reference {2} Added", withdrawalData.tokenId, withdrawalData.amount, withdrawalData.referenceId);
 }