Example #1
0
        /// <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);
        }
Example #3
0
        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);
        }
Example #4
0
        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!");
        }
Example #5
0
        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));
            }
        }