/*
        public string FranchisesDataString { get; set; }
        public string TeamsResultsDataString { get; set; }
        public string TeamsDrillDownDataString { get; set; }
        */

        public async Task<bool> LoadFranchisesDataAsync(string cachedJson = "")
        {
            List<FranchiseModel> franchises;

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

                svcResult = await dataContext.GetFranchisesAsync();
                if (svcResult == null) { return false; } //no results message
                //FranchisesDataString = svcResult;
                franchises = JsonConvert.DeserializeObject<List<FranchiseModel>>(svcResult);
            }
            else
            {
                franchises = JsonConvert.DeserializeObject<List<FranchiseModel>>(cachedJson);
            }

            var groupedItems =
                from franchise in franchises
                orderby franchise.Location
                select new TeamsFranchisesViewModel
                {
                    FirstLetter = franchise.Location.Substring(0, 1),
                    LineOne = franchise.GetDisplayName(),
                    LineTwo = franchise.GetDetail(),
                    TeamId = franchise.RetroId,
                    Location = franchise.Location
                } into list
                group list by list.FirstLetter into listByYear
                select new KeyedList<string, TeamsFranchisesViewModel>(listByYear);

            if (FranchiseList.Count <= 0)
            {
                foreach (var franchise in franchises)
                {
                    FranchiseList.Add(new TeamsFranchisesViewModel()
                    {
                        LineOne = franchise.GetDisplayName(),
                        LineTwo = franchise.GetDetail(),
                        TeamId = franchise.RetroId,
                        Location = franchise.Location
                    });
                }
            }

            FranchiseItems.Clear();
            foreach (var viewModelItem in groupedItems)
            {
                FranchiseItems.Add(viewModelItem);
            }

            return true;
        }