feature: add blazor app
This commit is contained in:
57
FahrzeugDatenBank/Auto.cs
Normal file
57
FahrzeugDatenBank/Auto.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Auto : Fahrzeug, IAuftankbar
|
||||
{
|
||||
public Auto()
|
||||
{
|
||||
base.AnzahlRaeder = 4;
|
||||
base.ReifenTyp = "Sommer";
|
||||
}
|
||||
|
||||
private bool istAufgetankt = false;
|
||||
|
||||
public void Auftanken()
|
||||
{
|
||||
this.istAufgetankt = true;
|
||||
}
|
||||
|
||||
public override void WechsleReifenTyp()
|
||||
{
|
||||
if (base.ReifenTyp == "Sommer")
|
||||
{
|
||||
base.ReifenTyp = "Winter";
|
||||
}
|
||||
else
|
||||
{
|
||||
base.ReifenTyp = "Sommer";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Auto2 : Fahrzeug
|
||||
{
|
||||
public Auto2()
|
||||
{
|
||||
base.AnzahlRaeder = 4;
|
||||
base.ReifenTyp = "Sommer";
|
||||
}
|
||||
|
||||
public override void WechsleReifenTyp()
|
||||
{
|
||||
if (base.ReifenTyp == "Sommer")
|
||||
{
|
||||
base.ReifenTyp = "Winter";
|
||||
}
|
||||
else
|
||||
{
|
||||
base.ReifenTyp = "Sommer";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
24
FahrzeugDatenBank/Fahrrad.cs
Normal file
24
FahrzeugDatenBank/Fahrrad.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Fahrrad : Fahrzeug
|
||||
{
|
||||
public Fahrrad()
|
||||
{
|
||||
base.AnzahlRaeder = 2;
|
||||
base.ReifenTyp = "Strassenreifen";
|
||||
}
|
||||
|
||||
public override void WechsleReifenTyp()
|
||||
{
|
||||
if (base.ReifenTyp == "Strassenreifen")
|
||||
{
|
||||
base.ReifenTyp = "Rennreifen";
|
||||
}
|
||||
else
|
||||
{
|
||||
base.ReifenTyp = "Strassenreifen";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
75
FahrzeugDatenBank/Fahrzeug.cs
Normal file
75
FahrzeugDatenBank/Fahrzeug.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public abstract class Fahrzeug
|
||||
{
|
||||
public Fahrzeug()
|
||||
{
|
||||
this.ReifenTyp = "";
|
||||
}
|
||||
|
||||
public string? Name { get; set; }
|
||||
public int Id { get; set; }
|
||||
|
||||
public int AnzahlRaeder { get; protected set; }
|
||||
|
||||
public string ReifenTyp { get; protected set; }
|
||||
|
||||
public abstract void WechsleReifenTyp();
|
||||
|
||||
public virtual void SetzeAnzahlRaeder(int anzahlDerRaeder)
|
||||
{
|
||||
if (anzahlDerRaeder < 0) return;
|
||||
this.AnzahlRaeder = anzahlDerRaeder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Fahrzeug2
|
||||
{
|
||||
public Fahrzeug2()
|
||||
{
|
||||
this.SetAnzahlRaeder(4);
|
||||
}
|
||||
|
||||
public Fahrzeug2(int anzahlDerReader)
|
||||
{
|
||||
this.SetAnzahlRaeder(anzahlDerReader);
|
||||
}
|
||||
|
||||
private int anzahlRaeder;
|
||||
|
||||
public int GetAnzahlRaeder()
|
||||
{
|
||||
return this.anzahlRaeder;
|
||||
}
|
||||
|
||||
protected void SetAnzahlRaeder(int anzahlDerReader)
|
||||
{
|
||||
this.anzahlRaeder = anzahlDerReader;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Fahrzeug3
|
||||
{
|
||||
public Fahrzeug3()
|
||||
{
|
||||
this.AnzahlRaeder = 4;
|
||||
}
|
||||
|
||||
public Fahrzeug3(int anzahlDerReader)
|
||||
{
|
||||
this.AnzahlRaeder = anzahlDerReader;
|
||||
}
|
||||
|
||||
public int AnzahlRaeder { get; protected set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
8
FahrzeugDatenBank/FahrzeugDTO.cs
Normal file
8
FahrzeugDatenBank/FahrzeugDTO.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace FahrzeugDatenBank;
|
||||
|
||||
public class FahrzeugDTO
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Typ { get; set; }
|
||||
}
|
||||
13
FahrzeugDatenBank/FahrzeugDatenBank.csproj
Normal file
13
FahrzeugDatenBank/FahrzeugDatenBank.csproj
Normal file
@@ -0,0 +1,13 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MySqlConnector" Version="2.4.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
48
FahrzeugDatenBank/FahrzeugRepository.cs
Normal file
48
FahrzeugDatenBank/FahrzeugRepository.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using MySqlConnector;
|
||||
|
||||
namespace FahrzeugDatenBank;
|
||||
|
||||
public class FahrzeugRepository
|
||||
{
|
||||
private string _connectionString;
|
||||
|
||||
public FahrzeugRepository(string connectionString)
|
||||
{
|
||||
_connectionString = connectionString;
|
||||
}
|
||||
|
||||
public List<FahrzeugDTO> 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<FahrzeugDTO> 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();
|
||||
}
|
||||
}
|
||||
12
FahrzeugDatenBank/GlobalSuppressions.cs
Normal file
12
FahrzeugDatenBank/GlobalSuppressions.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
// This file is used by Code Analysis to maintain SuppressMessage
|
||||
// attributes that are applied to this project.
|
||||
// Project-level suppressions either have no target or are given
|
||||
// a specific target and scoped to a namespace, type, member, etc.
|
||||
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
[assembly: SuppressMessage("DocumentationHeader", "PropertyDocumentationHeader:The property must have a documentation header.", Justification = "<Ausstehend>", Scope = "module")]
|
||||
[assembly: SuppressMessage("DocumentationHeader", "ConstructorDocumentationHeader:The constructor must have a documentation header.", Justification = "<Ausstehend>", Scope = "module")]
|
||||
[assembly: SuppressMessage("DocumentationHeader", "MethodDocumentationHeader:The method must have a documentation header.", Justification = "<Ausstehend>", Scope = "module")]
|
||||
[assembly: SuppressMessage("DocumentationHeader", "ConstFieldDocumentationHeader:The field must have a documentation header.", Justification = "<Ausstehend>", Scope = "module")]
|
||||
[assembly: SuppressMessage("CodeQuality", "IDE0052:Ungelesene private Member entfernen", Justification = "<Ausstehend>", Scope = "module")]
|
||||
9
FahrzeugDatenBank/IAuftankbar.cs
Normal file
9
FahrzeugDatenBank/IAuftankbar.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public interface IAuftankbar
|
||||
{
|
||||
public void Auftanken();
|
||||
}
|
||||
}
|
||||
|
||||
13
FahrzeugDatenBank/KettenSaege.cs
Normal file
13
FahrzeugDatenBank/KettenSaege.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class KettenSaege : IAuftankbar
|
||||
{
|
||||
private bool istAufgetankt = false;
|
||||
|
||||
public void Auftanken()
|
||||
{
|
||||
this.istAufgetankt = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
57
FahrzeugDatenBank/Motorrad.cs
Normal file
57
FahrzeugDatenBank/Motorrad.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Motorrad : Fahrzeug, IAuftankbar
|
||||
{
|
||||
public Motorrad()
|
||||
{
|
||||
base.AnzahlRaeder = 2;
|
||||
base.ReifenTyp = "schmal";
|
||||
}
|
||||
|
||||
private bool istAufgetankt = false;
|
||||
|
||||
public void Auftanken()
|
||||
{
|
||||
this.istAufgetankt = true;
|
||||
}
|
||||
|
||||
public override void WechsleReifenTyp()
|
||||
{
|
||||
if (base.ReifenTyp == "schmal")
|
||||
{
|
||||
base.ReifenTyp = "breit";
|
||||
}
|
||||
else
|
||||
{
|
||||
base.ReifenTyp = "schmal";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
namespace FahrzeugDatenBank
|
||||
{
|
||||
public class Motorrad2 : Fahrzeug
|
||||
{
|
||||
public Motorrad2()
|
||||
{
|
||||
base.AnzahlRaeder = 2;
|
||||
base.ReifenTyp = "schmal";
|
||||
}
|
||||
|
||||
public override void WechsleReifenTyp()
|
||||
{
|
||||
if (base.ReifenTyp == "schmal")
|
||||
{
|
||||
base.ReifenTyp = "breit";
|
||||
}
|
||||
else
|
||||
{
|
||||
base.ReifenTyp = "schmal";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user