public async Task <PartialViewResult> PinnedTiles() { var hvm = new HomePageViewModel { ErrorDisplay = ErrorDisplay, AppUserState = AppUserState }; var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}", tu: _tu, tup: _tup); if (AppUserState == null || AppUserState.Connected == false) { return(PartialView("_PinnedTiles", hvm)); } hvm.PinnedTiles = new AppTile(); if (System.IO.File.Exists(Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"))) { if (System.IO.File.Exists(Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"))) { hvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText( Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"))); } } var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, AppUserState.ReportingUserName); if (result.Faults.Any()) { hvm.AppUserState.Connected = false; ErrorDisplay.ShowError(result.Faults[0].Message); return(PartialView("_PinnedTiles", hvm)); } var allsearches = (InforSearches)result.ReturnObject; var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First()); hvm.PinnedTiles.UserTiles.RemoveAll(n => distinctApps.All(ap => ap.App != n.Search.App)); System.IO.File.WriteAllText( Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"), JsonConvert.SerializeObject(hvm)); foreach (var tile in hvm.PinnedTiles.UserTiles) { //if (tile.Search.IncludeCount) //{ tile.Count = conn.CountWeb(tile.Search, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds); } // } return(PartialView("_PinnedTiles", hvm)); }