public async Task GetCurrentUserFavoriteAds() { var currentUserCached = (FirebaseUser)JsonConvert.DeserializeObject(Preferences.Get("FirebaseUser", ""), typeof(FirebaseUser)); if (currentUserCached != null) { var allUsersFavoriteAds = await UserFavoriteAdsDataStore.GetItemsAsync(false); var currentUserFavoriteAds = allUsersFavoriteAds.Where(u => u.Username == currentUserCached.Username).ToList(); var allAdsDict = await AdverismentDataStore.GetItemsKeyValueAsync(); viewModel.Items.Clear(); foreach (var ad in allAdsDict) { foreach (var favorite in currentUserFavoriteAds) { if (ad.Value.Id == favorite.AdId) { viewModel.Items.Add(ad.Value); } } } } }
private async void UpdateButton_Clicked(object sender, EventArgs e) { using (await MaterialDialog.Instance.LoadingDialogAsync(message: "Učitavanje..")) { switch (typeOfAdsPage) { case "favorites": await XF.Material.Forms.UI.Dialogs.MaterialDialog.Instance.AlertAsync(message : "Kako biste uredili oglas idite na \n\"Profil -> Pogledaj oglase\""); break; case "profile": if (Title == "Oglasi oglašivača") { await MaterialDialog.Instance.SnackbarAsync(message : "Nije moguće uređivati tuđi oglas"); ((Button)sender).IsEnabled = false; } else { string SelectedAd = ((Button)sender).BindingContext as string; var ad = (await AdverismentDataStore.GetItemsKeyValueAsync()).Where(a => a.Value.Id == SelectedAd).FirstOrDefault().Value; await Navigation.PushAsync(new AddNewPage(ad)); } break; default: break; } } }
private async void DeleteAd_Clicked(object sender, EventArgs e) { using (await MaterialDialog.Instance.LoadingDialogAsync(message: "Učitavanje..")) { switch (typeOfAdsPage) { case "favorites": string SelectedAdId = ((Button)sender).BindingContext as string; var hasConfirmed = await XF.Material.Forms.UI.Dialogs.MaterialDialog.Instance.ConfirmAsync(message : "Jeste li sigurni?", confirmingText : "Ukloni", dismissiveText : "Odustani"); if (hasConfirmed != false && hasConfirmed != null) { var hasDeleted = await UserFavoriteAdsDataStore.DeleteItemAsync(SelectedAdId); if (hasDeleted) { await GetCurrentUserFavoriteAds(); } } break; case "profile": string SelectedAd = ((Button)sender).BindingContext as string; if (Title == "Oglasi oglašivača") { await MaterialDialog.Instance.SnackbarAsync(message : "Nije moguće brisati tuđi oglas"); ((Button)sender).IsEnabled = false; } else { var hasConfirm = await XF.Material.Forms.UI.Dialogs.MaterialDialog.Instance.ConfirmAsync(message : "Jeste li sigurni?", confirmingText : "Obriši", dismissiveText : "Odustani"); if (hasConfirm != false && hasConfirm != null) { var hasDeleted = await AdverismentDataStore.DeleteItemAsync(SelectedAd); if (hasDeleted) { await Task.WhenAny ( GetCurrentUserAds(FirebaseUser), Navigation.PopAsync(true) ); } } } break; default: break; } } }
public async Task GetCurrentUserAds(FirebaseUser user) { var currentUserCached = user; if (currentUserCached != null) { var allAds = await AdverismentDataStore.GetItemsKeyValueAsync(); var currentUserAds = allAds.Where(u => u.Value.UserId == currentUserCached.Username).ToList(); viewModel.Items.Clear(); foreach (var ad in currentUserAds) { viewModel.Items.Add(ad.Value); } } }
public async Task <int> GetCurrentUserAdNumber() { var allAds = await AdverismentDataStore.GetItemsKeyValueAsync(); return(allAds.Where(u => u.Value.UserId == FirebaseUser.Username).ToList().Count()); }