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); }