Beispiel #1
0
        protected override void Initialize()
        {
            InitializeComponent();
            Title = "Membership Info";
            profileStack.Theme = App.Current.GetThemeFromColor("gray");

            btnPast.Clicked += async(sender, e) =>
            {
                var historyPage = new ChallengeHistoryPage(ViewModel.Membership);
                historyPage.AddDoneButton("Done");

                await Navigation.PushModalAsync(historyPage.GetNavigationPage());

                await Task.Delay(500);

                historyPage.ViewModel.GetChallengeHistoryCommand.Execute(null);
            };

            btnChallenge.Clicked += async(sender, e) =>
            {
                var conflict = ViewModel.Membership.GetChallengeConflictReason(App.CurrentAthlete);
                if (conflict != null)
                {
                    conflict.ToToast();
                    return;
                }

                var datePage = new ChallengeDatePage(ViewModel.Membership.Athlete, ViewModel.Membership.League);

                datePage.OnChallengeSent = async(challenge) =>
                {
                    ViewModel.NotifyPropertiesChanged();
                    await Navigation.PopModalAsync();

                    await Navigation.PopAsync();

                    "Challenge sent".Fmt(ViewModel.Membership.Athlete.Name).ToToast(ToastNotificationType.Success);
                };

                await Navigation.PushModalAsync(datePage.GetNavigationPage());
            };

            ViewModel.SetPropertyChanged("CanChallenge");
        }
        async void OnCreateChallenge()
        {
            var membership = ViewModel.GetBestChallengee;
            var conflict   = membership.GetChallengeConflictReason(App.CurrentAthlete);

            if (conflict != null)
            {
                conflict.ToToast();
                return;
            }

            var datePage = new ChallengeDatePage(membership.Athlete, membership.League);

            datePage.OnChallengeSent = async(challenge) =>
            {
                ViewModel.NotifyPropertiesChanged();
                await Navigation.PopModalAsync();

                "Challenge sent".Fmt(ViewModel.MembershipViewModel.Membership.Athlete.Name).ToToast(ToastNotificationType.Success);
            };
            await Navigation.PushModalAsync(datePage.GetNavigationPage());
        }