public async Task <TigerAssetsResponse> GetTigerBrokerAssetsModelAsync(string requestUrl, TigerAssetsRequest tigerAssetsRequest)
        {
            if (string.IsNullOrEmpty(requestUrl) || tigerAssetsRequest == null)
            {
                throw new ArgumentNullException();
            }

            var json = JsonConvert.SerializeObject(tigerAssetsRequest);
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            using (var client = new HttpClient())
            {
                var response = await client.PostAsync(requestUrl, data);

                dynamic dynamicResponse     = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
                var     tigerAssetsResponse = new TigerAssetsResponse()
                {
                    code      = dynamicResponse.code,
                    data      = dynamicResponse.data,
                    message   = dynamicResponse.message,
                    sign      = dynamicResponse.sign,
                    timestamp = dynamicResponse.timestamp,
                };
                return(tigerAssetsResponse);
            }
        }
        public TigerAssetsModel ConverToTigerAssetsFromTigerAssetsResponse(TigerAssetsResponse tigerAssetsResponse)
        {
            if (tigerAssetsResponse == null)
            {
                throw new ArgumentNullException();
            }

            var tigerAssetsModel = new TigerAssetsModel();

            dynamic responseData = JsonConvert.DeserializeObject(tigerAssetsResponse.data);

            if (responseData != null)
            {
                dynamic dynamicResponse = responseData.items[0];
                var     values          = JsonConvert.DeserializeObject <Dictionary <string, string> >(dynamicResponse.ToString());

                tigerAssetsModel.account            = values["account"].ToString();
                tigerAssetsModel.accruedCash        = Convert.ToDecimal(values["accruedCash"]);
                tigerAssetsModel.accruedDividend    = Convert.ToDecimal(values["accruedDividend"]);
                tigerAssetsModel.availableFunds     = Convert.ToDecimal(values["availableFunds"]);
                tigerAssetsModel.buyingPower        = Convert.ToDecimal(values["buyingPower"]);
                tigerAssetsModel.capability         = Convert.ToString(values["capability"]);
                tigerAssetsModel.cashValue          = Convert.ToDecimal(values["cashValue"]);
                tigerAssetsModel.currency           = Convert.ToString(values["currency"]);
                tigerAssetsModel.dayTradesRemaining = Convert.ToInt32(values["dayTradesRemaining"]);
                tigerAssetsModel.cushion            = Convert.ToDouble(values["cushion"]);
                tigerAssetsModel.equityWithLoan     = Convert.ToDecimal(values["equityWithLoan"]);
                tigerAssetsModel.excessLiquidity    = Convert.ToDecimal(values["excessLiquidity"]);
                tigerAssetsModel.grossPositionValue = Convert.ToDecimal(values["grossPositionValue"]);
                tigerAssetsModel.initMarginReq      = Convert.ToDecimal(values["initMarginReq"]);
                tigerAssetsModel.maintMarginReq     = Convert.ToDecimal(values["maintMarginReq"]);
                tigerAssetsModel.netLiquidation     = Convert.ToDecimal(values["netLiquidation"]);
            }
            return(tigerAssetsModel);
        }