public bool Save(string key, GetMarketDataResponse data) { var cachedData = _client.Get<GetMarketDataResponse>(key); if (cachedData == null) { var expireInTimespan = new TimeSpan(0, 0, 5, 0); _client.Add(key, data, expireInTimespan); return true; } else { return false; } }
public bool Save(string key, GetMarketDataResponse data) { var cachedData = _client.Get <GetMarketDataResponse>(key); if (cachedData == null) { var expireInTimespan = new TimeSpan(0, 0, 5, 0); _client.Add(key, data, expireInTimespan); return(true); } else { return(false); } }
public object Get(GetMarketData request) { var response = new GetMarketDataResponse(); try { if (string.IsNullOrEmpty(request.DataSource)) { throw new ArgumentNullException("request", "[DataSource] field is empty"); } if (string.IsNullOrEmpty(request.Ticker)) { throw new ArgumentNullException("request", "[Ticker] field is empty"); } var cache = _cachingManager.GetMarketData(request.ToJson()); if (cache != null) { return(cache); } else { var result = _dataProvider.GetMarketData(request); if (result.Success) { response.Success = true; response.Data = result.Data; _cachingManager.Save(request.ToJson(), response); _cachingManager.SaveCurrentChart("CurrentChart", request); } else { response.ResponseStatus = new ResponseStatus(string.Empty, result.ErrorMessage); } } } 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(GetMarketData request) { var response = new GetMarketDataResponse(); try { if (string.IsNullOrEmpty(request.DataSource)) { throw new ArgumentNullException("request", "[DataSource] field is empty"); } if (string.IsNullOrEmpty(request.Ticker)) { throw new ArgumentNullException("request", "[Ticker] field is empty"); } var cache = _cachingManager.GetMarketData(request.ToJson()); if (cache != null) { return cache; } else { var result = _dataProvider.GetMarketData(request); if (result.Success) { response.Success = true; response.Data = result.Data; _cachingManager.Save(request.ToJson(), response); _cachingManager.SaveCurrentChart("CurrentChart", request); } else { response.ResponseStatus = new ResponseStatus(string.Empty, result.ErrorMessage); } } } catch (Exception ex) { var status = new ResponseStatus(); status.Message = ex.Message; status.ErrorCode = ex.Source; status.StackTrace = ex.StackTrace; response.ResponseStatus = status; } return response; }