예제 #1
0
        private static async Task <JSONEnroll> DoRoll(int id, bool enroll)
        {
            HttpMessage response = await Login.Instance.DoPost(enroll?$"api/talks/enroll/{id}" : $"api/talks/unenroll/{id}");

            if (!response.Success)
            {
                return(new JSONEnroll()
                {
                    message = response.Message, success = response.Success
                });
            }
            string json = await response.Response.Content.ReadAsStringAsync();

            JSONEnroll canEnroll = JsonConvert.DeserializeObject <JSONEnroll>(json);

            return(canEnroll);
        }
예제 #2
0
        private async void OnEnroll(object sender, EventArgs args)
        {
            EnrollButton.IsEnabled = false;
            if (!Login.Instance.IsLoggedIn)
            {
                await Application.Current.MainPage.DisplayAlert("Please login!", "Login to enroll for a talk.", "OK");

                EnrollButton.IsEnabled = true;
                return;
            }

            if (_enrolled)
            {
                JSONEnroll jsonEnroll = await Enroll.UnEnrollTalk(Appointment.Id);

                if (!jsonEnroll.success)
                {
                    await Application.Current.MainPage.DisplayAlert("Failed.", "Unenrollment did not succeed. Please try again.", "OK");

                    EnrollButton.IsEnabled = true;
                    return;
                }
            }
            else
            {
                JSONEnroll jsonEnroll = await Enroll.EnrollTalk(Appointment.Id);

                if (!jsonEnroll.success)
                {
                    await Application.Current.MainPage.DisplayAlert("Failed.", "Enrollment did not succeed. Please try again.", "OK");

                    EnrollButton.IsEnabled = true;
                    return;
                }
            }
            // It worked!
            _enrolled              = !_enrolled;
            EnrollButton.Text      = _enrolled ? "Unenroll" : "Enroll";
            EnrollButton.IsEnabled = true;
        }