public void LoadAsxEodRawFromAzure() { List <AsxEod> tickerEODList = null; AsxEodBLL asxBll = new AsxEodBLL(_unit); try { CloudStorageAccount storageAccount = CloudStorageAccount.Parse( ConfigurationManager.ConnectionStrings["EODASXConnectionString"].ConnectionString); // Create the blob client. CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); // Retrieve reference to a previously created container. CloudBlobContainer container = blobClient.GetContainerReference("asxeod"); CloudBlobContainer containerDest = blobClient.GetContainerReference("asxeod-processed"); var blobs = container.ListBlobs(); foreach (CloudBlockBlob blob in blobs) { string text; using (var memoryStream = new MemoryStream()) { int tradingDate = this.GetTradingDateFromName(blob.Name); if (!asxBll.IsAsxEodExisting(tradingDate)) { blob.DownloadToStream(memoryStream); text = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray()); tickerEODList = GetTickerListFromCSVString(text); memoryStream.Position = 0; asxBll.SaveAsxEodListToDB(tickerEODList); CloudBlockBlob destBlob = containerDest.GetBlockBlobReference(blob.Name); destBlob.UploadFromStream(memoryStream); blob.DeleteAsync(); } } } } catch (Exception ex) { LogHelper.Error(_log, ex.ToString()); throw; } }
public void LoadAsxEodRawFromDisk() { AsxEodBLL asxBll = new AsxEodBLL(_unit); string tickerPath = ConfigurationManager.AppSettings["EODPath"]; string queuePath = Path.Combine(tickerPath, "queue"); string targetPath; var txtFiles = Directory.EnumerateFiles(queuePath, "*.txt", SearchOption.AllDirectories); foreach (string currentFile in txtFiles) { string fileName = currentFile.Substring(queuePath.Length + 1); string targetYear = fileName.Substring(fileName.IndexOf("_") + 1, 4); targetPath = Path.Combine(tickerPath, "processed", targetYear); int tradingDate = this.GetTradingDateFromName(fileName); if (!asxBll.IsAsxEodExisting(tradingDate)) { string tickString = File.ReadAllText(currentFile); var tickerEODList = GetTickerListFromCSVString(tickString); asxBll.SaveAsxEodListToDB(tickerEODList); } if (!Directory.Exists(targetPath)) { Directory.CreateDirectory(targetPath); } Directory.Move(currentFile, Path.Combine(targetPath, fileName)); } }