public DataTable ReadHistoricData(string tickers, DateTime fromDate, DateTime toDate, int offset = 0) { DataTable dtHistoricData = new DataTable(); var hdRoot = MarketStackApi.CallExternalAPIForHistoricData(tickers, fromDate, toDate, offset); dtHistoricData = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(hdRoot.data), (typeof(DataTable))); offset = offset + hdRoot.pagination.limit; if (hdRoot.pagination.total > hdRoot.pagination.limit) { for (int i = offset; i <= hdRoot.pagination.total;) { DataTable dt = new DataTable(); hdRoot = MarketStackApi.CallExternalAPIForHistoricData(tickers, fromDate, toDate, i); dt = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(hdRoot.data), (typeof(DataTable))); dtHistoricData.Merge(dt, true, MissingSchemaAction.Ignore); i += hdRoot.pagination.limit; } } return(dtHistoricData); }
public DataTable ReadIntraData(string tickers, int offset = 0) { DataTable dtIntraDayData = new DataTable(); var iDayRoot = MarketStackApi.CallIntradayData(tickers, offset); dtIntraDayData = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(iDayRoot.data), (typeof(DataTable))); offset = offset + iDayRoot.pagination.limit; if (iDayRoot.pagination.total > iDayRoot.pagination.limit) { for (int i = offset; i <= iDayRoot.pagination.total;) { DataTable dt = new DataTable(); iDayRoot = MarketStackApi.CallIntradayData(tickers, i); dt = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(iDayRoot.data), (typeof(DataTable))); dtIntraDayData.Merge(dt, true, MissingSchemaAction.Ignore); i += iDayRoot.pagination.limit; } } return(dtIntraDayData); }
public DataTable ReadEndOfTheDayData(string tickers, int offset = 0) { DataTable dtEndofDayData = new DataTable(); var eodRoot = MarketStackApi.CallExternalAPIForEndOfDayData(tickers, offset); dtEndofDayData = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(eodRoot.data), (typeof(DataTable))); offset = offset + eodRoot.pagination.limit; if (eodRoot.pagination.total > eodRoot.pagination.limit) { for (int i = offset; i <= eodRoot.pagination.total;) { DataTable dt = new DataTable(); eodRoot = MarketStackApi.CallExternalAPIForEndOfDayData(tickers, i); dt = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(eodRoot.data), (typeof(DataTable))); dtEndofDayData.Merge(dt, true, MissingSchemaAction.Ignore); i += eodRoot.pagination.limit; } } return(dtEndofDayData); }