/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { GetAccountBalanceResponse response = new GetAccountBalanceResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("AvailableBalance", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.AvailableBalance = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("OnHoldBalance", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.OnHoldBalance = unmarshaller.Unmarshall(context); continue; } } return(response); }
public void GetAccountBalanceTest(string accountId) { GetAccountBalanceResponse result = client.GetAccountBalanceAsync(accountId).Result; string strret = JsonConvert.SerializeObject(result, Formatting.Indented); Console.WriteLine(strret); Assert.Equal("ok", result.status); }
public override void GetPortfolios() { if (Portfolios == null) { return; } foreach (var portfolio in Portfolios) { string url = _privateUriBuilder.Build("GET", $"/v1/account/accounts/{portfolio.Number.Split('_')[1]}/balance"); var httpClient = new HttpClient(); string response = httpClient.GetStringAsync(url).Result; if (response.Contains("Incorrect Access key")) { SendLogMessage("Huobi: Incorrect Access API key", LogMessageType.Error); return; } GetAccountBalanceResponse accountBalance = JsonConvert.DeserializeObject <GetAccountBalanceResponse>(response); //portfolio.ClearPositionOnBoard(); for (int i = 0; accountBalance.data != null && i < accountBalance.data.list.Length; i++) { var currentData = accountBalance.data.list[i]; if (currentData.balance == 0) { continue; } PositionOnBoard pos = new PositionOnBoard(); pos.SecurityNameCode = currentData.currency; pos.PortfolioName = portfolio.Number; pos.ValueCurrent = currentData.balance; pos.ValueBegin = currentData.balance; portfolio.SetNewPosition(pos); } } OnPortfolioEvent(Portfolios); }
public async Task <string> getBalance() { AmazonMTurkClient client = this.getMTurkClient(); GetAccountBalanceRequest BalanceRequest = new GetAccountBalanceRequest(); try { GetAccountBalanceResponse response = await client.GetAccountBalanceAsync(BalanceRequest); return(response.AvailableBalance); } catch (Exception e) { Console.WriteLine(e); } throw new Exception("Uh OH! Something went wrong!"); }
public ActionResult <GetAccountBalanceResponse> GetAccountBalance([FromHeader] string client, [FromRoute] string cpf, [FromRoute] int accountType) { GetAccountBalanceResponse response = new GetAccountBalanceResponse(); string responseCode = $"GET_BALANCE_{client}_{cpf}"; try { var factory = WalletFactory.Instance.GetAccount(_configuration, true); var balance = factory.GetBalance(client, cpf, accountType); response.StatusCode = "200"; response.Data = new AccountBalanceDTO { Balance = string.Format("{0:N}", balance) }; return(Ok(response)); } catch (Exception ex) { response.StatusCode = "500"; response.Messages.Add(ResponseMessage.Create(ex, responseCode)); return(StatusCode(500, response)); } }