private async void sendDataToServer()
        {
            // Internet?
            if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                DTO.AnswersDTO aDTO = Helper.Functions.convertDataSourcetoAnswersDTO(dsl);
                aDTO.voteToken = qrDTO.voteToken;
                aDTO.studyPath = courseName;

                string requestDTOJSON = JsonConvert.SerializeObject(aDTO);

                Helper.Functions.getDataFromServerStruct gDFS = await Helper.Functions.sendDataToServer(qrDTO.host, "/v1/answers", requestDTOJSON);

                // Fehler
                if (gDFS.OK == false)
                {
                    DTO.ResponseDTO reDTO;
                    try
                    {
                        reDTO = JsonConvert.DeserializeObject <DTO.ResponseDTO>(gDFS.json);
                    }
                    catch (Exception e)
                    {
                        reDTO = null;
                    }

                    if (reDTO == null)
                    {
                        mDialog("Daten konnten nicht zum Server gesendet werden!", 1);
                    }
                    else
                    {
                        mDialog(Helper.Functions.serverMessage(reDTO), 1);

                        if ((reDTO.type == DataModel.ErrorTyps.TOKEN_ALLREADY_USED) ||
                            (reDTO.type == DataModel.ErrorTyps.IVALID_TOKEN))
                        {
                            Frame.Navigate(typeof(QR_Code));
                        }
                    }
                }
                else
                {
                    mDialog("Daten wurden an den Server gesendet." + Environment.NewLine + "Danke für Ihre Teilnahme!", 2);
                }
            }
            else
            {
                mDialog("Fehler: Keine Internetverbindung verfügbar!", 1);
            }
        }
        private async void getQuestions(DTO.QRCodeDTO aQRCDTO)
        {
            // Internet?
            if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                // step 1
                // Request DTO
                DTO.RequestDTO rDTO = new DTO.RequestDTO();
                rDTO.voteToken = aQRCDTO.voteToken;

                // questions
                Helper.Functions.getDataFromServerStruct gDFS = await Helper.Functions.sendDataToServer(aQRCDTO.host, "/v1/questions", JsonConvert.SerializeObject(rDTO));

                if (gDFS.OK == false)
                {
                    var ignore = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
                        disableSearchFrame();

                        DTO.ResponseDTO reDTO;
                        try
                        {
                            reDTO = JsonConvert.DeserializeObject <DTO.ResponseDTO>(gDFS.json);
                        }
                        catch (Exception e)
                        {
                            reDTO = null;
                        }

                        if (reDTO == null)
                        {
                            mDialog("Fehler: Keine Daten vom Server erhalten!", 1);
                        }
                        else
                        {
                            mDialog(Helper.Functions.serverMessage(reDTO), 1);
                        }
                    });
                }
                else
                {
                    DTO.QuestionsDTO qDTO;
                    try
                    {
                        qDTO = JsonConvert.DeserializeObject <DTO.QuestionsDTO>(gDFS.json);
                    }
                    catch (Exception e)
                    {
                        qDTO = null;
                    }

                    if (qDTO == null)
                    {
                        var ignore = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
                            disableSearchFrame();

                            mDialog("Fehler: Falsche Daten eingelesen!", 1);
                        });
                    }
                    // step 3
                    // navigate to the next page
                    else
                    {
                        Helper.Functions.sendDataTOCourse obj;
                        obj.qDTO  = qDTO;
                        obj.qrDTO = aQRCDTO;
                        Frame.Navigate(typeof(Course), obj);
                    }
                }
            }
            else
            {
                disableSearchFrame();
                mDialog("Fehler: Keine Internetverbindung verfügbar!", 1);
            }
        }