public async Task<bool> LoadTeamDataAsync(PlayersContextViewModel context, string cachedJson = "")
        {
            List<TeamModel> teams;

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

                svcResult = await dataContext.GetTeamsAsync(context.SelectedYearId);
                if (svcResult == null) { return false; } //no results message
                //TeamsDataString = svcResult;
                teams = JsonConvert.DeserializeObject<List<TeamModel>>(svcResult);
            }
            else
            {
                teams = JsonConvert.DeserializeObject<List<TeamModel>>(cachedJson);
            } 
            
            var groupedItems =
                from team in teams
                orderby team.Location
                select new PlayersTeamsViewModel
                {
                    FirstLetter = team.Location.Substring(0, 1),
                    LineOne = team.GetDisplayName(),
                    LineTwo = team.GetDetail(),
                    TeamId = team.TeamId
                } into list
                group list by list.FirstLetter into listByYear
                select new KeyedList<string, PlayersTeamsViewModel>(listByYear);

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