/// <summary> /// Via deze methode kan een opmerking aangepast worden vanaf een andere pagina /// </summary> /// <param name="comment">comment is van het type Comment en bevat een nieuwe opmerking</param> public static void UpdateComment(Comment comment) { opmerkingen.RemoveAt(geselecteerdeIndex); opmerkingen.Insert(geselecteerdeIndex, comment); }
/// <summary> /// Een opmerking kan verwijderd worden /// Geeft false terug als de bewerking niet uitgevoerd kon worden /// </summary> /// <param name="commentaar">Een opmerking van het type Comment</param> /// <returns>Een boolean</returns> public async Task<bool> DeleteComment(Comment commentaar) { try { await db.DeleteAsync(commentaar.GetCOMMENT()); //aantalCommentaren--; return true; } catch (Exception e) { paLogging.log.Error("Fout bij het ophalen van de voertuig uit de database\nFoutmelding: " + e.Message); return false; } }
/// <summary> /// Via deze methode kan er een opmerking toegevoegd worden aan de lijst vanaf een andere pagina /// </summary> /// <param name="comment">comment is van het type Comment en bevat een nieuwe opmerking</param> public static void AddComment(Comment comment) { DefectCodes defectcode = ProblemenTest.GetDefectCode(comment.DefectCodeId); ObjectCodes objectcode = ProblemenTest.GetObjectCode(comment.ObjectCodeId); comment.ObjectCode = objectcode.Code; comment.DefectCode = defectcode.Code; opmerkingen.Insert(0, comment); }
/// <summary> /// Het wijzigen van een opmerking /// Geeft false terug als de bewerking niet uitgevoerd kon worden /// </summary> /// <param name="commentaar">Een opmerking van het type Comment</param> /// <returns>Een boolean</returns> public async Task<bool> UpdateComment(Comment commentaar) { try { COMMENT updateCommentaar = new COMMENT { Id = commentaar.Id, ObjectCodeId = commentaar.ObjectCodeId, ObjectCode = commentaar.ObjectCode, DefectCodeId = commentaar.DefectCodeId, DefectCode = commentaar.DefectCode, Omschrijving = commentaar.Omschrijving, Vehicle_Id = commentaar.Vehicle_Id, Chauffeur = commentaar.Chauffeur, Datum = commentaar.Datum }; await db.UpdateAsync(updateCommentaar); return true; } catch (Exception e) { paLogging.log.Error(String.Format("Fout bij het aanpassen van het rijbericht {0}\nFoutmelding: {1}", commentaar.Id, e.Message)); return false; } }
/// <summary> /// Het toevoegen van een opmerking /// </summary> /// <param name="commentaar">Een opmerking van het type Comment</param> /// <returns>Een Comment instantie</returns> public async Task<Comment> AddComment(Comment commentaar) { try { COMMENT nieuwCommentaar = new COMMENT { Id = aantalCommentaren, ObjectCodeId = commentaar.ObjectCodeId, ObjectCode = commentaar.ObjectCode, DefectCodeId = commentaar.DefectCodeId, DefectCode = commentaar.DefectCode, Omschrijving = commentaar.Omschrijving, Vehicle_Id = completeAuto.Id, Chauffeur = commentaar.Chauffeur, Datum = commentaar.Datum }; await db.InsertAsync(nieuwCommentaar); Comment opmerking = new Comment(nieuwCommentaar.Id, nieuwCommentaar.Omschrijving, nieuwCommentaar.ObjectCodeId, nieuwCommentaar.DefectCodeId, nieuwCommentaar.Vehicle_Id, nieuwCommentaar.Chauffeur, nieuwCommentaar.Datum); aantalCommentaren++; return opmerking; } catch (SQLiteException sqlEx) { paLogging.log.Error(String.Format("SQLite fout bij het wegschrijven van rijberichten {0} ({1} - {2}: {3}", commentaar.Id, commentaar.ObjectCodeId, commentaar.DefectCodeId, sqlEx.Message)); return null; } catch (Exception e) { paLogging.log.Error(String.Format("Onbekende fout bij het wegschrijven van rijberichten {0} ({1} - {2}: {3}", commentaar.Id, commentaar.ObjectCodeId, commentaar.DefectCodeId, e.Message)); return null; } }
/// <summary> /// In deze methode worden de tekstvelden opgevuld met waarden uit de gekregen parameter /// </summary> /// <param name="e"></param> protected override void OnNavigatedTo(NavigationEventArgs e) { navigationHelper.OnNavigatedTo(e); if (e.Parameter != null) { opmerking = e.Parameter as Comment; if (opmerking != null) updateComment = true; } else { updateComment = false; } }
/// <summary> /// Het updaten van een opmerking /// </summary> /// <param name="commentaar">De opmerking die geupdate moet worden van het type comment</param> private async Task CommentaarAanpassen(Comment commentaar) { if (await LocalDB.database.UpdateComment(commentaar)) { // String boodschap = "Uw probleem werd aangepast"; OverzichtOpmerkingen.UpdateComment(commentaar); } else { lblError.Foreground = (SolidColorBrush)Application.Current.Resources["DefaultTextErrorColor"]; lblError.Text = "Er heeft zich een fout voorgedaan. Probeer later opnieuw of neem contact op met een beheerder."; } }
/// <summary> /// Het aanmaken van een nieuwe opmerking /// </summary> /// <param name="commentaar">De opmerking die aangemaakt moet worden van het type comment</param> private async Task<bool> CommentaarToevoegen(Comment commentaar) { Comment toegevoegdeCommentaar = await LocalDB.database.AddComment(commentaar); if (toegevoegdeCommentaar != null) { OverzichtOpmerkingen.AddComment(toegevoegdeCommentaar); return true; } else { lblError.Foreground = (SolidColorBrush)Application.Current.Resources["DefaultTextErrorColor"]; lblError.Text = "Er heeft zich een fout voorgedaan. Probeer later opnieuw of neem contact op met een beheerder."; } return false; }