private async Task DeleteEvent()
        {
            var message = await networkAPI.DeletePromotion(Promotion.PromotionId);

            await MessageUtils.ShowDialog("Promotie verwijderen", message.Item1);

            if (message.Item2)
            {
                mainPageViewModel.BackButtonPressed();
                mainPageViewModel.BackButtonPressed();
                mainPageViewModel.NavigationHistoryItems.RemoveAll(v => v.GetType() == typeof(PromotionDetailViewModel) || v.GetType() == typeof(PromotionsViewModel));
                mainPageViewModel.NavigateTo(new PromotionsViewModel(mainPageViewModel));
            }
        }
Example #2
0
        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.");
                }
            }
        }