/// <summary> /// Fügt der DB eine neue Person hinzu oder aktualisiert diese. /// </summary> /// <param name="versorger">Die zu speichernde Person.</param> public IVersorger InsertOrUpdate(IVersorger versorger) { var connection = new SQLiteConnection(SQL_CONNECTION_STRING); connection.Open(); var statement = new SQLiteCommand(versorger.Id == 0 ? SQL_INSERT : SQL_UPDATE, connection); statement.Parameters.Add(new SQLiteParameter("@versorgertyp", (int)versorger.StammdatenTyp)); statement.Parameters.Add(new SQLiteParameter("@name", versorger.Name)); statement.Parameters.Add(new SQLiteParameter("@strasse", versorger.Strasse)); statement.Parameters.Add(new SQLiteParameter("@hausnummer", versorger.Hausnummer)); statement.Parameters.Add(new SQLiteParameter("@plz", versorger.Plz)); statement.Parameters.Add(new SQLiteParameter("@ort", versorger.Ort)); statement.ExecuteNonQuery(); if (versorger.Id == 0) { versorger.Id = GetLastRowId(connection); } connection.Close(); return(versorger); }
/// <summary> /// Liest die Daten zu einer bestimmten Person aus der DB. /// </summary> /// <param name="id">Die Id der zu ladenden Person.</param> /// <returns>Eine <see cref="IPerson"/> mit den Daten aus der DB.</returns> public IVersorger GetById(int id) { var connection = new SQLiteConnection(SQL_CONNECTION_STRING); connection.Open(); IVersorger versorger = null; var statement = new SQLiteCommand(SQL_GET_BY_ID, connection); statement.Parameters.Add(new SQLiteParameter("@id", id)); SQLiteDataReader reader = statement.ExecuteReader(); while (reader.Read()) { versorger = VersorgerFactory.Create(reader.GetInt32(0), (EnumStammdatenTyp)reader.GetInt32(1), reader.GetString(2), reader.GetString(3), reader.GetString(4), reader.GetString(5), reader.GetString(6)); } connection.Close(); return(versorger); }
public VersorgerViewModel(IVersorger versorger) { Model = versorger; stammdatenTyp = versorger.StammdatenTyp; }