public async Task OnGetAsync() { await Task.Run(() => { cdkeys = new Dictionary <Game, IEnumerable <Code> > { }; var username = userManager.GetUserName(User); var thistrans = transdb.GetByUsername(username); foreach (var order in thistrans) { var codelist = codedb.GetCodeByOrderId(order.OrderId); foreach (var code in codelist) { var game = gamedb.GetById(code.GameId); if (!cdkeys.ContainsKey(game)) { IEnumerable <Code> newlist = new List <Code> { code }; cdkeys.Add(game, newlist); } else { cdkeys[game] = cdkeys[game].Append(code); } } } }); }