static void Main(string[] args) { string filePath = args[0]; Creds creds = new Creds { host = "88a7de3d-5188-4295-aa0c-39d4da22f643-bluemix.cloudant.com", password = "******", username = "******" }; CloudantBulkUploader uploader = new CloudantBulkUploader(creds); string forexFilePath = Path.Combine(filePath, "forex-avg.json"); string stockFilePath = Path.Combine(filePath, "stock-avg.json"); CloudantImport <ForexAverageEntry> forexEntries = JsonConvert.DeserializeObject <CloudantImport <ForexAverageEntry> >(File.ReadAllText(forexFilePath)); CloudantImport <StockAverageEntry> stockEntries = JsonConvert.DeserializeObject <CloudantImport <StockAverageEntry> >(File.ReadAllText(stockFilePath)); IEnumerable <ForexAverageEntry> forex = forexEntries.Documents.Select(d => d.Document); IEnumerable <StockAverageEntry> stock = stockEntries.Documents.Select(d => d.Document); List <StockForexEntry> entries = new List <StockForexEntry>(); foreach (StockAverageEntry stockAverageEntry in stock.OrderBy(s => s.Date)) { ForexAverageEntry forexEntry = forex.FirstOrDefault(f => f.Date == stockAverageEntry.Date); if (forexEntry == null) { continue; } entries.Add(new StockForexEntry { Timestamp = forexEntry.Timestamp, ForexLowAverage = forexEntry.Low, ForexHighAverage = forexEntry.High, TotalSize = stockAverageEntry.TotalNumber, Average = stockAverageEntry.Average, TotalPrice = stockAverageEntry.TotalPrice }); } uploader.Upload(entries); }
/// <summary> /// Initializes a new instance of the <see cref="CloudantBulkUploader"/> class. /// </summary> /// <param name="cloudantCreds">The cloudant creds.</param> public CloudantBulkUploader(Creds cloudantCreds) { this.cloudantCreds = cloudantCreds; }