private async void BackButtonPress(Object sender, BackPressedEventArgs e)
 {
     e.Handled = true;
     if (_inspectionStarted)
     {
         ErrorWarningMessage message = new ErrorWarningMessage();
         if (await message.ReturnPageWarning(_localSettings.Values["Language"].ToString()) == "Ok")
         {
             int           itemIndex = _stepCounter - 2;
             ControlAnswer answer    = _answers[itemIndex];
             _controlQuestion = _questionList[itemIndex];
             if (itemIndex == 0)
             {
                 //_inspectionStarted = false;
                 _answers = new List <ControlAnswer>();
             }
             else
             {
                 _answers.RemoveAt(_stepCounter);
             }
             _stepCounter -= 1;
             ControlObject controlObject = new ControlObject(_controlQuestion, answer);
             this.Frame.Navigate(typeof(CommentPage), controlObject);
         }
     }
     else
     {
         if (Frame.CanGoBack)
         {
             this.NavigationCacheMode = NavigationCacheMode.Disabled;
             Frame.GoBack();
         }
     }
 }
        public async Task <string> SendControlRapport(List <ControlAnswer> imageSendList, ControlReport report)
        {
            try
            {
                List <ControlAnswer> sendList = new List <ControlAnswer>();
                foreach (var controlAnswerImage in imageSendList)
                {
                    ControlAnswer sendAnswer = new ControlAnswer();
                    sendAnswer.controlQuestionId = controlAnswerImage.controlQuestionId;
                    sendAnswer.startTime         = controlAnswerImage.startTime;
                    sendAnswer.endTime           = controlAnswerImage.endTime;
                    sendAnswer.testOk            = controlAnswerImage.testOk;
                    sendAnswer.comment           = controlAnswerImage.comment;
                    if (controlAnswerImage.images != null)
                    {
                        sendAnswer.images = new List <ControlImage>();
                        foreach (ControlImage imgPath in controlAnswerImage.images)
                        {
                            var storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync(imgPath.fileName);

                            var buffer = await Windows.Storage.FileIO.ReadBufferAsync(storageFile);

                            var bufferArray = buffer.ToArray();
                            _client = new HttpClient();
                            MultipartFormDataContent form = new MultipartFormDataContent();
                            form.Add(new ByteArrayContent(bufferArray), "image", imgPath.fileName);
                            HttpResponseMessage response = await _client.PostAsync(_apiControlImage, form);

                            response.EnsureSuccessStatusCode();
                            _client.Dispose();
                            var          responsemessage = response.Content.ReadAsStringAsync().Result;
                            ControlImage img             = JsonConvert.DeserializeObject <ControlImageWrapper>(responsemessage).data;
                            sendAnswer.images.Add(img);
                        }
                    }
                    sendList.Add(sendAnswer);
                }
                report.controlAnswers = sendList;
                var sendReport = JsonConvert.SerializeObject(report, Formatting.None, new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Ignore
                });
                using (_client = new HttpClient())
                {
                    HttpResponseMessage response = await _client.PostAsync(_apiControlReport, new StringContent(sendReport, Encoding.UTF8, "application/json"));

                    response.EnsureSuccessStatusCode();
                }
                return("Ok");
            }
            catch (Exception)
            {
                return("Nok");
            }
        }
        private void btnOk_Nok_Click(object sender, RoutedEventArgs e)
        {
            _inspectionStarted = true;
            ControlAnswer controlAnswer = new ControlAnswer
            {
                controlQuestionId = _controlQuestion.id,
                startTime         = _startTimeQuestion.ToString("yyyy-MM-ddTHH:mm:sszzz"),
                testOk            = sender == btnOk
            };
            ControlObject controlObject = new ControlObject(_controlQuestion, controlAnswer);

            this.Frame.Navigate(typeof(PhotoPage), controlObject);
        }
 public ControlObject(ControlQuestion controlQuestion, ControlAnswer controlAnswer)
 {
     this.ControlQuestion = controlQuestion;
     this.ControlAnswer   = controlAnswer;
 }