public async Task<bool> LoadTeamDrillDownDataAsync(TeamsContextViewModel context, string cachedJson = "")
        {
            List<TeamsDrillDownModel> items;

            if (string.IsNullOrEmpty(cachedJson))
            {
                var dataContext = new DataContext();
                var svcResult = string.Empty;

                svcResult = await dataContext.GetTeamDrillDownAsync(context.SelectedTeamId, context.SelectedOpponentId, context.SelectedYearId);
                if (svcResult == null) { return false; } //no results message
                //TeamsDrillDownDataString = svcResult;
                items = JsonConvert.DeserializeObject<List<TeamsDrillDownModel>>(svcResult);
            }
            else
            {
                items = JsonConvert.DeserializeObject<List<TeamsDrillDownModel>>(cachedJson);
            }

            var groupedItems =
                from item in items
                orderby item.GameDate descending
                select new TeamsDrillDownViewModel
                {
                    GameDate = item.GameDate,
                    Team = item.Team,
                    Opponent = item.Opponent,
                    Win = item.Win,
                    Loss = item.Loss,
                    RunsFor = item.RunsFor,
                    RunsAgainst = item.RunsAgainst
                } into list
                group list by list.GameDate into listByYear
                select new KeyedList<string, TeamsDrillDownViewModel>(listByYear);

            TeamDrillDownItems.Clear();
            foreach (var viewModelItem in groupedItems)
            {
                TeamDrillDownItems.Add(viewModelItem);
            }
            return true;
        }