/// <summary> /// Controleert of de opmerking niet al werd gemaakt. En indien deze al gemaakt werd of dit door een andere chauffeur wordt gedaan of door dezelfde chauffeur /// </summary> /// <param name="nieuwCommentaar">Opmerking die gecontroleerd moet worden van het type Comment</param> /// <returns>Task</returns> private async Task ControleerOpmerking() { List <Comment> opmerkingen = await OverzichtOpmerkingen.GetOverzichtComments(); IEnumerable <Comment> dubbeleOpmerkingen = from evtOpmerking in opmerkingen where (evtOpmerking.ObjectCode.Equals(nieuwCommentaar.ObjectCode) && evtOpmerking.DefectCode.Equals(nieuwCommentaar.DefectCode)) select evtOpmerking; List <Comment> dubbeleOpmerkingenlijst = dubbeleOpmerkingen.ToList <Comment>(); bool doorgaanMetBewerken = false; if (dubbeleOpmerkingenlijst.Count == 0) { doorgaanMetBewerken = !await CommentaarToevoegen(nieuwCommentaar); } else { foreach (Comment dubbele in dubbeleOpmerkingenlijst) { string bericht; if (dubbele.Chauffeur == nieuwCommentaar.Chauffeur) { bericht = String.Format("U heeft eerder al een rijbericht aangemaakt voor dit onderdeel. Wilt u deze rijberichten samenvoegen?\nObjectcode: {0}, Defectcode: {1}\nOmschrijving: {2}.", dubbele.ObjectCode, dubbele.DefectCode, dubbele.Omschrijving); } else { bericht = String.Format("Chauffeur {0} heeft eerder een rijbericht gemaakt voor dit onderdeel. Wilt u deze rijberichten samenvoegen?\nObjectcode: {1}, Defectcode: {2}\nOmschrijving: {3}.", dubbele.Chauffeur, dubbele.ObjectCode, dubbele.DefectCode, dubbele.Omschrijving); } //Melding weergeven indien er dubbele commentaren gevonden zijn MessageDialog okAnnuleer = new MessageDialog(bericht, "Dubbele rijberichten"); okAnnuleer.Commands.Add(new UICommand("Samenvoegen")); okAnnuleer.Commands.Add(new UICommand("Doorgaan met bewerken")); okAnnuleer.Commands.Add(new UICommand("Annuleren")); var resultaat = await okAnnuleer.ShowAsync(); if (resultaat.Label.Equals("Samenvoegen")) { dubbele.Omschrijving += String.Format("{0}Toevoeging chauffeur {1}: {2}.", Environment.NewLine, nieuwCommentaar.Chauffeur, nieuwCommentaar.Omschrijving); await CommentaarAanpassen(dubbele); } else if (resultaat.Label.Equals("Opmerking aanmaken annuleren")) { doorgaanMetBewerken = true; } } } if (!doorgaanMetBewerken) { this.Frame.Navigate(typeof(OverzichtOpmerkingen)); } }
/// <summary> /// Haalt een lijst met opmerkingen op en geeft de 5 meest recente opmerkingen weer op het bijlagenscherm. /// </summary> /// <returns></returns> private async Task VulRecenteCommentaren() { List <Comment> opmerkingen = await OverzichtOpmerkingen.GetOverzichtComments(); if (opmerkingen.Count >= 5) { gvwOpmerkingen.ItemsSource = opmerkingen.GetRange(0, 5); } else { if (opmerkingen.Count > 0) { gvwOpmerkingen.ItemsSource = opmerkingen; } else { lblOpmerkingen.Text = "Er zijn geen rijberichten aanwezig voor de toegekende wagen."; } } }
/// <summary> /// Deze methode geeft een lijst van opmerkingen door naar de web service. /// De web service gebruikt deze gegevens om een .CSV-bestand te maken /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnOpslaan_Click(object sender, RoutedEventArgs e) { btnSynchroniseren.IsEnabled = false; prSynchroniseren.IsActive = true; lblBoodschap.Text = "Even geduld. Gegevens worden op dit moment verstuurd..."; lblBoodschap.Visibility = Windows.UI.Xaml.Visibility.Visible; if (!swtManierOpslag.IsOn) { try { await CopyFiles.copyPhotosToUSB(); await CopyFiles.copyVideosToUSB(); if (await LocalDB.database.SynchroniseerNaarUSB()) { lblBoodschap.Text = "De gegevens zijn met succes verstuurd naar de USB!"; } else { lblBoodschap.Text = "Er is iets fout gelopen. Controleer of u een opslagmedium ingestoken heeft..."; } } catch (Exception) { lblBoodschap.Text = "Er is iets fout gelopen. Controleer of u een opslagmedium ingestoken heeft..."; } } else { await CopyFiles.copyPhotosViaNetwork(); await CopyFiles.copyVideosViaNetwork(); List <String> lijstGegevens = new List <String>(); List <Comment> opmerkingen = await OverzichtOpmerkingen.GetOverzichtComments(); List <string> lijstStringGegevens = new List <string>(); foreach (Comment opmerking in opmerkingen) { lijstStringGegevens.Add("Chauffeur: " + opmerking.Chauffeur + ", OpmperkingID: " + opmerking.Id.ToString() + ", Aangemaakt op: " + opmerking.Datum.ToString("dd/MM/yyyy HH:mm") + ", Objectcode: " + opmerking.ObjectCode + ", Defectcode: " + opmerking.DefectCode + ", Omschrijving: " + opmerking.Omschrijving); } ArrayOfString aosGegevens = new ArrayOfString(); //Een ArrayOfString is nodig voor de web service aosGegevens.AddRange(lijstStringGegevens); var avAuto = await LocalDB.database.GetToegewezenAuto(); string datum = String.Format("Wagen {0} - {1}-{2}-{3} {4}h{5}m", avAuto.Number, DateTime.Now.Day, DateTime.Now.Month, DateTime.Now.Year, DateTime.Now.Hour, DateTime.Now.Minute); string bestandsNaam = String.Format("{0} opmerkingen.csv", datum); //await CopyFiles.copyVideosViaNetwork(); lblBoodschap.Text = "Videos uploaden"; if (await LocalDB.database.SetMaakSVCvoorWebSync(aosGegevens, bestandsNaam)) { lblBoodschap.Text = "De gegevens zijn met succes verstuurd naar de server!"; } else { lblBoodschap.Text = "Er is iets fout gelopen. Controleer of u met het juiste netwerk verbonden bent..."; } } btnSynchroniseren.IsEnabled = true; prSynchroniseren.IsActive = false; }