private async Task ShowPromotionAsync() { NetworkAPI networkAPI = new NetworkAPI(); Establishment establishment = await networkAPI.GetEstablishmentById(Promotion.Establishment.EstablishmentId); mainPageViewModel.NavigateTo(new EstablishmentDetailViewModel(establishment, mainPageViewModel)); }
private async Task Subscribe() { if (isSubscribed) { var message = await networkAPI.Unsubscribe(Establishment.EstablishmentId); if (string.IsNullOrEmpty(message)) { SubscriptionButtonText = is_not_subbed_text; isSubscribed = false; await MessageUtils.ShowDialog("Abonneren", $"U zal geen meldingen meer ontvangen van {Establishment.Name}!"); Toast toast = new Toast(); toast.SubscriptionAsyncWriteOnly(); } else { await MessageUtils.ShowDialog("Abonneren", message); } } else { try { var token = passwordVault.Retrieve("Stapp", "Token"); var message = await networkAPI.Subscribe(Establishment.EstablishmentId); if (string.IsNullOrEmpty(message)) { isSubscribed = true; SubscriptionButtonText = is_subbed_text; await MessageUtils.ShowDialog("Abonneren", $"U bent succesvol geabonneerd op {Establishment.Name}!"); mainPageViewModel.BackButtonPressed(); mainPageViewModel.NavigationHistoryItems.RemoveAll(v => v.GetType() == typeof(EstablishmentDetailViewModel)); mainPageViewModel.NavigateTo(new EstablishmentDetailViewModel(Establishment, mainPageViewModel)); } else { await MessageUtils.ShowDialog("Abonneren", message); } } catch { await ShowNotSignedInDialog("Abonneren", "U bent momenteel niet aangemeld. Om te kunnen abonneren op handelaars, heeft u een account nodig. Aanmelden of een account aanmaken kan u doen op de accountpagina."); } } }
private void NavigateToEstablishmentDetail(object args) => mainPageViewModel.NavigateTo(new EstablishmentDetailViewModel(args as Establishment, mainPageViewModel));
private void NavigateToLogin() => mainPageViewModel.NavigateTo(new LoginViewModel(mainPageViewModel));
private void PromotionClicked(object args) => mainPageViewModel.NavigateTo(new PromotionDetailViewModel(args as Promotion, mainPageViewModel));
private void EventClicked(object args) => mainPageViewModel.NavigateTo(new EventDetailViewModel(args as Event, mainPageViewModel));
private void SubscriptionClicked(object args) => mainPageViewModel.NavigateTo(new EstablishmentDetailViewModel(args as Establishment, mainPageViewModel));
private void CompanyClicked(object args) => mainPageViewModel.NavigateTo(new MerchantEditViewModel(MerchantObjectType.COMPANY, mainPageViewModel, args as Company));
private void NavigateToRegistration() => mainPageViewModel.NavigateTo(new RegistrationViewModel(mainPageViewModel));