Artikelverwaltung/Artikelverwaltung/Database.cs
2022-10-20 10:36:29 +02:00

96 lines
3.5 KiB
C#

using MySqlConnector;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace Artikelverwaltung
{
internal class Database
{
string connectionString;
MySqlConnection connection;
MySqlCommand cmd;
public Database()
{
connectionString = "Server=localhost;User=root;Password=;Database=Artikelverwaltung";
connection = new MySqlConnection(connectionString);
cmd = new MySqlCommand();
}
// Benutzer abgleich direkt aus der Datenbank, ohne die Daten im Programm zu haben.
public bool loginAbgleich(string bn, string pw)
{
connection.Open();
cmd.Connection = connection;
cmd.CommandText = $"select count(*) as result from mitarbeiter where benutzername = '{bn}' and passwort = '{pw}'";
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
if(reader["result"].ToString().Equals("1"))
{
connection.Close();
return true;
}
}
connection.Close();
return false;
}
public void BenutzerAnlegen(MitarbeiterAccount acc)
{
connection.Open();
cmd.Connection = connection;
cmd.CommandText = $"insert into mitarbeiter(benutzername, passwort) values('{acc.benutzername}', '{acc.passwort}')";
cmd.ExecuteNonQuery();
connection.Close();
}
public void ArtikelAnlegen(Artikel artikel)
{
connection.Open();
cmd.Connection= connection;
cmd.CommandText = $"insert into artikel(artikelbeschreibung, modellname,artikelgruppe,aktivFlag) values('{artikel.Artikelbeschreibung}','{artikel.Modellname}','{artikel.Artikelgruppe}','{Convert.ToInt16(artikel.AktivFlag)}')";
cmd.ExecuteNonQuery();
connection.Close();
}
public void ArtikelLoeschen(int id)
{
connection.Open();
cmd.Connection = connection;
cmd.CommandText = $"delete from artikel where artikelnummer = {id}";
cmd.ExecuteNonQuery();
connection.Close();
}
public void ArtikelAendern(Artikel artikel, int id)
{
connection.Open();
cmd.Connection = connection;
cmd.CommandText = $"update artikel set artikelbeschreibung = '{artikel.Artikelbeschreibung}', modellname = '{artikel.Modellname}', artikelgruppe = '{artikel.Artikelgruppe}', aktivFlag = '{Convert.ToInt16(artikel.AktivFlag)}' where artikelnummer = {id}";
cmd.ExecuteNonQuery();
connection.Close();
}
public List<Artikel> ArtikelAbrufen()
{
List<Artikel> list = new List<Artikel>();
connection.Open();
cmd.Connection = connection;
cmd.CommandText = $"select * from artikel";
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Artikel artikel = new Artikel(Convert.ToUInt32(reader["artikelnummer"]), reader["artikelbeschreibung"].ToString(), reader["modellname"].ToString(),reader["artikelgruppe"].ToString(), Convert.ToBoolean(reader["aktivFlag"]));
list.Add(artikel);
}
connection.Close();
return list;
}
}
}