// Complete the questionnaire.
        private async void CompleteQuestionnaire()
        {
            // Create a new questionnaire model.
            Questionnaire questionnaire = new Questionnaire
            {
                Client_id = (string)App.Current.Properties["id"],
                Time      = DateTime.Now,
                Redflag   = (numberOfYesQuestions > 8 || suicideQuestion)
            };


            // Do a POST request.
            string content = JsonConvert.SerializeObject(questionnaire);

            // Send token with Http request
            apiRequestHelper.SetTokenHeader();
            string response = await apiRequestHelper.PostRequest(Constants.questionnaireUrl, content);

            if (response != null)
            {
                // Add the new questionnaire ID to all the local answers.
                dynamic convertedJson = JsonConvert.DeserializeObject(response);
                foreach (var answer in allAnswers)
                {
                    answer.Questionnaire_id = (int)convertedJson.id;
                }

                // Do a POST request.
                string answerContent = JsonConvert.SerializeObject(allAnswers);
                // Send token with Http request
                apiRequestHelper.SetTokenHeader();
                string answerResponse = await apiRequestHelper.PostRequest(Constants.answerUrl, answerContent);

                if (response != null)
                {
                    await DisplayAlert("Completed", "You have completely filled out the questionnaire.", "Okay");

                    Navigation.PushAsync(new MainQuestionnaire());
                }
                else
                {
                    // Display an error.
                    DisplayAlert("Error", "Sorry, something went wrong. Please try again later.", "Okay");
                }
            }
            else
            {
                // Display an error.
                DisplayAlert("Error", "Sorry, something went wrong. Please try again later.", "Okay");
            }
        }
コード例 #2
0
        public async Task Register(Client user)
        {
            var client  = new HttpClient();
            var content = JsonConvert.SerializeObject(user);

            apiRequestHelper.SetTokenHeader();
            var apiResponse = apiRequestHelper.PostRequest(Constants.registerUrl, content);

            if (apiResponse != null)
            {
                Debug.WriteLine(@" User Successfully registered in");
                Debug.WriteLine(apiResponse);
                await Navigation.PushAsync(new SignInPage());
            }
            else
            {
                await DisplayAlert("Invalid login", "The username or password is incorrect.", "Cancel");

                Debug.WriteLine("Er is iets fout gegaan :(");
                Debug.WriteLine(apiResponse);
            }
        }
コード例 #3
0
        public async Task Login(Client user)
        {
            LoginViewModel vm = new LoginViewModel
            {
                Email    = user.Email,
                Password = user.Password
            };

            var content = JsonConvert.SerializeObject(vm);

            var apiResponse = await apiRequestHelper.PostRequest(Constants.loginUrl, content);

            if (apiResponse != null)
            {
                Debug.WriteLine(@" User Successfully logged in");
                await Navigation.PushAsync(new LandingPage());
            }
            else
            {
                await DisplayAlert("Invalid login", "The username or password is incorrect.", "Cancel");

                Debug.WriteLine("Er is iets fout gegaan :(");
            }
        }