public async Task ScrapeEvent(long EventID) { var Response = await GenerateGetRequest($"edge/rest/events/{EventID}"); var Event = JsonConvert.DeserializeObject <Event>(Response); List <MarketSnapshot> Snapshots = MatchbookSnapshotConverter.ConvertEventToSnapshot(Event); lock (Model.MarketSnapshots) { if (!(Model.MarketSnapshots.ContainsKey(EventID))) { Model.MarketSnapshots.Add(EventID, new List <MarketSnapshot>()); } Model.MarketSnapshots[EventID] = Model.MarketSnapshots[EventID].Concat(Snapshots).ToList(); } }
public void UpdateEventDetailsBox() { long EventID = Convert.ToInt64(EventsBox.SelectedValue); if (EventID == 0) { GUIHelper.ThrowWarning("Invalid selection", "No item selected!"); } dataGridView1.Rows.Clear(); dataGridView1.ColumnCount = 5; dataGridView1.Columns[0].Name = "Name"; dataGridView1.Columns[1].Name = "Side"; dataGridView1.Columns[2].Name = "Side"; dataGridView1.Columns[3].Name = "Odds"; dataGridView1.Columns[4].Name = "Volume"; foreach (var Market in Model.EventPrices[EventID].Markets) { foreach (var Runner in Market.Runners) { foreach (var Price in Runner.Prices) { dataGridView1.Rows.Add(Market.Name, Price.Side, Runner.Name, Price.Odds, Price.AvailableAmount); } } } var results = MatchbookSnapshotConverter.ConvertEventToSnapshot(Model.EventPrices[EventID]); if (!(Model.MarketSnapshots.ContainsKey(EventID))) { Model.MarketSnapshots.Add(EventID, new List <MarketSnapshot>()); } foreach (var Snapshot in results) { Model.MarketSnapshots[EventID].Add(Snapshot); } }