public static bool IsFabvorite(ProductForMobileViewModel item) { var Liste = Settings.JsonFavoriteList; if (!string.IsNullOrWhiteSpace(Liste)) { List <ProductForMobileViewModel> ListFavorites = JsonConvert.DeserializeObject <List <ProductForMobileViewModel> >(Liste); var checkItem = ListFavorites.FirstOrDefault(model => model.id == item.id); if (checkItem == null) { ListFavorites.Add(item); Settings.JsonFavoriteList = JsonConvert.SerializeObject(ListFavorites); return(true); } else { ListFavorites.Remove(checkItem); Settings.JsonFavoriteList = JsonConvert.SerializeObject(ListFavorites); return(false); } } else { List <ProductForMobileViewModel> ListFavorites = new List <ProductForMobileViewModel>() { item }; Settings.JsonFavoriteList = JsonConvert.SerializeObject(ListFavorites); return(true); } }
async void OnItemSelected(ProductForMobileViewModel item) { if (item == null) { return; } switch (item.Category) { case "Emploi": // This will push the ItemDetailPage onto the navigation stack await Shell.Current.GoToAsync($"{nameof(JobDetailPage)}?{nameof(JobDetailsViewModel.ItemId)}={item.id}"); break; case "Immobilier": await Shell.Current.GoToAsync($"{nameof(ApartDetailPage)}?{nameof(ApartDetailViewModel.ItemId)}={item.id}"); break; case "Mode": await Shell.Current.GoToAsync($"{nameof(ModeDetailPage)}?{nameof(ModeDetailViewModel.ItemId)}={item.id}"); break; case "Multimedia": await Shell.Current.GoToAsync($"{nameof(MultimediaDetailPage)}?{nameof(MultimediaDetailViewModel.ItemId)}={item.id}"); break; case "Vehicule": await Shell.Current.GoToAsync($"{nameof(VehiculeDetailPage)}?{nameof(VehiculeDetailViewModel.ItemId)}={item.id}"); break; case "Maison": await Shell.Current.GoToAsync($"{nameof(HouseDetailPage)}?{nameof(HouseDetailViewModel.ItemId)}={item.id}"); break; } }