public static DataTable GetQuandlData(string ticker, string dataSource, DateTime startDate, DateTime endDate) { QuandlDownloadRequest request = new QuandlDownloadRequest(); request.APIKey = quandlKey; request.Datacode = new Datacode(dataSource, ticker); request.Format = FileFormats.CSV; request.Frequency = Frequencies.Daily; request.StartDate = startDate; request.EndDate = endDate; request.Sort = SortOrders.Ascending; string ss = request.ToRequestString().Replace("/v1/", "/v3/"); DataTable dt = new DataTable(); using (WebClient client = new WebClient()) { try { client.DownloadFile(ss, "my.csv"); dt = ModelHelper.CsvToDatatable("my.csv"); File.Delete("my.csv"); } catch { } } return(dt); }
public void ToRequestString_InvalidDatacodeCode_ExceptionThrown() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", string.Empty) }; request.ToRequestString(); }
public void ToRequestString_StartDateBeforeEndDate_ExceptionNotThrown() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", "TEST"), StartDate = DateTime.Now.AddDays(-10), EndDate = DateTime.Now.AddDays(10) // End 20 days after start }; var requestString = request.ToRequestString(); }
public void ToRequestString_NonCSVFormat_HeadersNotUsedInRequestString() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", "TEST"), Format = FileFormats.HTML }; var requestString = request.ToRequestString(); Assert.IsFalse(requestString.Contains("&exclude_headers=")); }
public void ToRequestString_InvalidTruncation_ExceptionThrown() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", "TEST"), Truncation = 0 }; var requestString = request.ToRequestString(); Assert.IsFalse(requestString.Contains("&rows=0")); }
public void ToRequestString_ZeroTruncation_NotUsedInRequestString() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", "TEST"), Truncation = 0 }; var requestString = request.ToRequestString(); Assert.IsFalse(requestString.Contains("&rows=0")); }
public void ToRequestString_ValidTruncation_UsedInRequestString() { var request = new QuandlDownloadRequest() { Datacode = new Datacode("DW", "TEST"), Truncation = 1 }; var requestString = request.ToRequestString(); Assert.IsTrue(requestString.Contains("&rows=1")); }