Beispiel #1
0
        public void GetTicksTest()
        {
            GetTickersResponse result = client.GetTicksAsync().Result;
            string             strret = JsonConvert.SerializeObject(result, Formatting.Indented);

            Console.WriteLine(strret);
            Assert.Equal("ok", result.status);
        }
		public bool Save(string key, GetTickersResponse data)
		{
			var cachedData = _client.Get<GetTickersResponse>(key);
			if (cachedData == null)
			{
				var expireInTimespan = new TimeSpan(1, 0, 0, 0);
				_client.Add(key, data, expireInTimespan);
				return true;
			}
			else
			{
				return false;
			}
		}
        public bool Save(string key, GetTickersResponse data)
        {
            var cachedData = _client.Get <GetTickersResponse>(key);

            if (cachedData == null)
            {
                var expireInTimespan = new TimeSpan(1, 0, 0, 0);
                _client.Add(key, data, expireInTimespan);
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public List <TickerInformation> GetTickers()
        {
            GetTickersResponse response = exmoClient.GetTickers();

            List <TickerInformation> result = new List <TickerInformation>();

            foreach (var ticket in response)
            {
                string           key = ticket.Key;
                GetTickersDetail ti  = ticket.Value;

                TickerInformation tickerInfo = new TickerInformation()
                {
                    Symbol            = key,
                    Ask               = ti.AskPrice,
                    Bid               = ti.BidPrice,
                    Last              = ti.Last,
                    Open              = default,
        public object Get(GetTickers request)
        {
            var response = new GetTickersResponse();

            try
            {
                if (string.IsNullOrEmpty(request.DataSource) && string.IsNullOrEmpty(request.Query))
                {
                    throw new ServiceResponseException("Unknown request. Missing parameters.");
                }
                if (request.PerPage <= 0)
                {
                    throw new ArgumentNullException("request", "Invalid [PerPage] field");
                }
                if (request.PageNumber < 0)
                {
                    throw new ArgumentNullException("request", "Invalid [PageNumber] field");
                }

                var cached = _cachingManager.GetTickers(request.ToJson());
                if (cached != null)
                {
                    return(cached);
                }
                else
                {
                    var result = !string.IsNullOrEmpty(request.Query) ?
                                 _dataProvider.GetTickers(request.Query, true, new PagingOptions(request.PerPage, request.PageNumber)) :
                                 _dataProvider.GetTickers(request.DataSource, false, new PagingOptions(request.PerPage, request.PageNumber));

                    if (result != null)
                    {
                        if (result.Success)
                        {
                            response.Success = true;
                            response.Data    = result.Data;
                            _cachingManager.Save(request.ToJson(), response);
                        }
                        else
                        {
                            response.ResponseStatus = new ResponseStatus(string.Empty, result.ErrorMessage);
                        }
                    }
                    else
                    {
                        response.ResponseStatus = new ResponseStatus(string.Empty, "Result is empty");
                    }
                }
            }
            catch (Exception ex)
            {
                var status = new ResponseStatus();
                status.Message    = ex.Message;
                status.ErrorCode  = ex.Source;
                status.StackTrace = ex.StackTrace;

                response.ResponseStatus = status;
            }

            return(response);
        }
		public object Get(GetTickers request)
		{
			var response = new GetTickersResponse();

			try
			{
				if (string.IsNullOrEmpty(request.DataSource) && string.IsNullOrEmpty(request.Query))
				{
					throw new ServiceResponseException("Unknown request. Missing parameters.");
				}
				if (request.PerPage <= 0)
				{
					throw new ArgumentNullException("request", "Invalid [PerPage] field");
				}
				if (request.PageNumber < 0)
				{
					throw new ArgumentNullException("request", "Invalid [PageNumber] field");
				}

				var cached = _cachingManager.GetTickers(request.ToJson());
				if (cached != null)
				{
					return cached;
				}
				else
				{
					var result = !string.IsNullOrEmpty(request.Query) ?
						_dataProvider.GetTickers(request.Query, true, new PagingOptions(request.PerPage, request.PageNumber)) :
						_dataProvider.GetTickers(request.DataSource, false, new PagingOptions(request.PerPage, request.PageNumber));

					if (result != null)
					{
						if (result.Success)
						{
							response.Success = true;
							response.Data = result.Data;
							_cachingManager.Save(request.ToJson(), response);
						}
						else
						{
							response.ResponseStatus = new ResponseStatus(string.Empty, result.ErrorMessage);
						}
					}
					else
					{
						response.ResponseStatus = new ResponseStatus(string.Empty, "Result is empty");
					}
				}
			}
			catch (Exception ex)
			{
				var status = new ResponseStatus();
				status.Message = ex.Message;
				status.ErrorCode = ex.Source;
				status.StackTrace = ex.StackTrace;

				response.ResponseStatus = status;
			}

			return response;
		}