private void ProcessResult() { CoursesByToolName.Clear(); var allProducts = Newtonsoft.Json.JsonConvert.DeserializeObject <AllProducts>(CachedProductsJson); foreach (var product in allProducts.ResultSets[0].Results) { try { var tools = product.Tools?.Split('|') ?? new[] { "-" }; foreach (var tool in tools) { if (!CoursesByToolName.ContainsKey(tool)) { CoursesByToolName[tool] = new List <CourseDescription>(); } CoursesByToolName[tool].Add(product); } } catch (Exception) { return; } } }
public async Task <List <CourseDescription> > GetToolCourses(string toolName) { var courses = await Task.Run(() => CoursesByToolName.Single(kvp => kvp.Key == toolName).Value, _token); return(courses); }