예제 #1
0
        public async Task <T> GetResult <T>(PublicApiCall call, string requestData) where T : IResponse, new()
        {
            var response = await _client.GetStringAsync(string.Format("{0}/api/public/{1}{2}", _apiBaseAddress, call, requestData));

            if (string.IsNullOrEmpty(response))
            {
                return(new T()
                {
                    Success = false, Message = "No Response."
                });
            }
            return(GetObject <T>(response));
        }
예제 #2
0
        public T GetResult <T>(PublicApiCall call, string requestData)
            where T : IResponse, new()
        {
            var s = string.Format("{0}/Api/{1}{2}", BaseUrl, call, requestData);

            System.Net.Http.Headers.HttpRequestHeaders h = _client.DefaultRequestHeaders;

            var response = _client.GetStringAsync(s);

            if (string.IsNullOrEmpty(response.Result))
            {
                return(new T()
                {
                    Success = false, Error = "No Response."
                });
            }
            return(GetObject <T>(response.Result));
        }
예제 #3
0
        public string DoPublic(PublicApiCall call, string response)
        {
            string ret = response;

            ret = ret.Replace("\"result\":", "\"Data\":");
            ret = ret.Replace("\"success\":", "\"Success\":");
            ret = ret.Replace("\"message\":", "\"Message\":");

            switch (call)
            {
            case PublicApiCall.GetCurrencies:
                ret = ret.Replace("CurrencyLong", "Name");
                ret = ret.Replace("Currency", "Symbol");
                ret = ret.Replace("MinConfirmation", "DepositConfirmations");
                ret = ret.Replace("TxFee", "WithdrawFee");
                ret = ret.Replace("\"IsActive\":true", "\"Status\":\"OK\"");
                ret = ret.Replace("\"IsActive\":false", "\"Status\":\"Offline\"");
                ret = ret.Replace("CoinType", "Algorithm");
                ret = ret.Replace("Notice", "StatusMessage");

                break;

            case PublicApiCall.GetTradePairs:
                ret = ret.Replace("MarketCurrencyLong", "Currency");
                ret = ret.Replace("MarketCurrency", "Symbol");
                ret = ret.Replace("BaseCurrency", "BaseSymbol");
                ret = ret.Replace("BaseSymbolLong", "BaseCurrency");
                ret = ret.Replace("MinTradeSize", "MinimumBaseTrade");
                ret = ret.Replace("MarketName", "Label");
                ret = ret.Replace("\"IsActive\":true", "\"Status\":\"OK\"");
                ret = ret.Replace("\"IsActive\":false", "\"Status\":\"Offline\"");

                break;

            case PublicApiCall.GetMarket:
                ret = ret.Replace("\"Data\":[{", "\"Data\":{");
                ret = ret.Replace("}]}", "}}");
                ret = ret.Replace("MarketName", "Label");
                ret = ret.Replace("Last", "LastPrice");
                ret = ret.Replace("Ask", "AskPrice");
                ret = ret.Replace("Bid", "BidPrice");

                break;

            case PublicApiCall.GetMarkets:
                ret = ret.Replace("MarketName", "Label");
                ret = ret.Replace("Last", "LastPrice");
                ret = ret.Replace("Ask", "AskPrice");
                ret = ret.Replace("Bid", "BidPrice");

                break;

            case PublicApiCall.GetMarketHistory:
                ret = ret.Replace("Quantity", "Amount");
                ret = ret.Replace("OrderType", "Type");


                break;

            case PublicApiCall.GetMarketOrders:
                ret = ret.Replace("buy", "Buy");
                ret = ret.Replace("sell", "Sell");
                ret = ret.Replace("Quantity", "Volume");
                ret = ret.Replace("Rate", "Price");


                break;
            }

            return(ret);
        }
예제 #4
0
 public string DoPublic(PublicApiCall call, string result)
 {
     return(null);
 }