/// <summary> /// Methode die biem Drücken des 'Speichern'-Buttons ausgeführt wird /// </summary> /// <param name="obj"></param> private void SaveCommandExecute(object obj) { //Eingegeben Titel formatieren EingabeTitle = Formatter.FormatNewTitle(EingabeTitle); //SQL-Command für das Ermitteln von Titeln erstellen var selectCommand = DBQuery.CreateSqlParameterTitle(EingabeTitle, false); //Titel aus der Datenbank abrufen var currentTitles = DatabaseHelper.CheckDatabase(selectCommand); if (currentTitles.Rows.Count > 0) { //Titel existiert bereits in der Datenbank //Fehler-Text aus der Datenbank lesen var text = DatabaseHelper.GetNotificationText(4); //Fehler als MessageBox auf der Benutzeroberfläche anzeigen MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } else { //Titel ist in der Datenbank noch nicht vorhanden //SQL-Command für das Einfügen des Titels erstellen var insertCommand = DBQuery.CreateSqlParameterTitle(EingabeTitle, true); //SQL-Command ausführen int resCount = DatabaseHelper.InsertDatabase(insertCommand); //Anzahl der geschriebenen Datensätze prüfen if (resCount == 1) { //Genau ein Datensatz wurde geschrieben //Erfolgsmeldung auf der Benutzeroberfläche anzeigen var text = DatabaseHelper.GetNotificationText(5); MessageBox.Show(text, "Gespeichert", MessageBoxButton.OK, MessageBoxImage.Information); //Eingabe zurücksetzen _reset(); } else { //Datensatz konnte nicht in die Datenbank geschrieben //Fehler auf der Benutzeroberlfäche anzeigen var text = DatabaseHelper.GetNotificationText(6); MessageBox.Show(text, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private int _saveContact() { int res = Validator.ValidateContact(Contact); if (res != 0) { return(res); } else { //Beginn Speicher-Vorgang... try { var insertContactParameter = DBQuery.CreateSqlParameterSaveContact(Contact); var cnt = DatabaseHelper.InsertDatabase(insertContactParameter); var getLastContactParamter = DBQuery.CreateSqlParameterLastContact(); var id = DatabaseHelper.CheckDatabase(getLastContactParamter); int contactId = 0; int.TryParse(id.Rows[0][0].ToString(), out contactId); var toInsert = new List <TitleModel>(); //Alle noch nicht in der Datenbank vorhandene Titel ermitteln var newTitles = Contact.TitelList.FindAll(x => x.Title_ID == 0); foreach (var entry in newTitles) { //Insert neuen Titel var insertTitleCommand = DBQuery.CreateSqlParameterTitle(entry.Title, true); int resCount = DatabaseHelper.InsertDatabase(insertTitleCommand); //Hinzugefügten Titel aus der Datenbank ermitteln var selectCommand = DBQuery.CreateSqlParameterTitle(entry.Title, false); var currentTitles = DatabaseHelper.CheckDatabase(selectCommand); //Neu hinzugfügten Titel in Liste schreiben toInsert.Add(new TitleModel { Title_ID = int.Parse(currentTitles.Rows[0][0].ToString()), Title = currentTitles.Rows[0][1].ToString() }); } //Alle bereits in der Datenbank vorhandenen Titel ermitteln var existingTitles = Contact.TitelList.FindAll(x => x.Title_ID != 0); toInsert.AddRange(existingTitles); //Über alle dem Kontakt zugeordneten Titel loopen und diese in die Datenbank schreiben foreach (var entry in toInsert) { var insertTitleContactParameter = DBQuery.CreateSqlParameterSaveTitle(contactId, entry.Title_ID); var resTitleContact = DatabaseHelper.InsertDatabase(insertTitleContactParameter); } } catch (Exception ex) { //Fehler während der Verarbeitung return(10); } return(11); } }