using MySqlConnector; namespace FahrzeugDatenBank; public class FahrzeugRepository { private string _connectionString; public FahrzeugRepository(string connectionString) { _connectionString = connectionString; } public List HoleAlleFahrzeuge() { using var datenbankVerbindung = new MySqlConnection(_connectionString); datenbankVerbindung.Open(); const string query = "SELECT id, fahrzeug_name, fahrzeug_typ FROM fahrzeuge"; using var kommando = new MySqlCommand(query, datenbankVerbindung); var reader = kommando.ExecuteReader(); List fahrzeugs = new(); while (reader.Read()) { var fahrzeug = new FahrzeugDTO(); fahrzeug.Id = reader.GetInt32(0); fahrzeug.Name = reader.GetString(1); fahrzeug.Typ = reader.GetString(2); fahrzeugs.Add(fahrzeug); } return fahrzeugs; } public void FuegeFahrzeugEin(string fahrzeugName, string fahrzeugTyp) { using var datenbankVerbindung = new MySqlConnection(_connectionString); datenbankVerbindung.Open(); const string query = "INSERT INTO fahrzeuge (fahrzeug_name, fahrzeug_typ)" + "VALUES (@fahrzeug_name, @fahrzeug_typ);"; using var kommando = new MySqlCommand(query, datenbankVerbindung); kommando.Parameters.AddWithValue("@fahrzeug_name", fahrzeugName); kommando.Parameters.AddWithValue("@fahrzeug_typ", fahrzeugTyp); kommando.ExecuteNonQuery(); } public void LoescheFahrzeug(int id) { using var datenbankVerbindung = new MySqlConnection(_connectionString); datenbankVerbindung.Open(); const string query = "DELETE FROM fahrzeuge WHERE id = @fahrzeug_id;"; using var kommando = new MySqlCommand(query, datenbankVerbindung); kommando.Parameters.AddWithValue("@fahrzeug_id", id); kommando.ExecuteNonQuery(); } public List SucheFahrzeuge(string searchTerm) { using var datenbankVerbindung = new MySqlConnection(_connectionString); datenbankVerbindung.Open(); const string query = "SELECT id, fahrzeug_name, fahrzeug_typ FROM fahrzeuge WHERE fahrzeug_name LIKE @searchTerm OR fahrzeug_typ LIKE @searchTerm;"; using var kommando = new MySqlCommand(query, datenbankVerbindung); kommando.Parameters.AddWithValue("@searchTerm", "%" + searchTerm + "%"); using var reader = kommando.ExecuteReader(); List fahrzeugs = new(); while (reader.Read()) { var fahrzeug = new FahrzeugDTO { Id = reader.GetInt32(0), Name = reader.GetString(1), Typ = reader.GetString(2) }; fahrzeugs.Add(fahrzeug); } return fahrzeugs; } }