179 lines
6.0 KiB
C#
179 lines
6.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using MySql.Data.MySqlClient;
|
|
|
|
namespace Casino
|
|
{
|
|
internal class Database
|
|
{
|
|
private string myConnectionString = "server=mysql.pb.bib.de;uid=pbg2h25ala;pwd=a7TP2aRv7Xdu;database=pbg2h25ala_Casino";
|
|
public ObservableCollection<User> GetUser()
|
|
{
|
|
ObservableCollection<User> user = new ObservableCollection<User>();
|
|
|
|
try
|
|
{
|
|
MySql.Data.MySqlClient.MySqlConnection myConnection;
|
|
myConnection = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
|
|
//open a connection
|
|
myConnection.Open();
|
|
|
|
// create a MySQL command and set the SQL statement with parameters
|
|
MySqlCommand myCommand = new MySqlCommand();
|
|
myCommand.Connection = myConnection;
|
|
myCommand.CommandText = @"SELECT * FROM Nutzer";
|
|
// myCommand.Parameters.AddWithValue("@code", "12");
|
|
|
|
// execute the command and read the results
|
|
using MySqlDataReader myReader = myCommand.ExecuteReader();
|
|
|
|
while (myReader.Read())
|
|
{
|
|
User u = new User(myReader.GetString("name"), myReader.GetInt32("age"), myReader.GetString("passwort"))
|
|
{
|
|
ID = myReader.GetString("id"),
|
|
Name = myReader.GetString("name"),
|
|
Alter = myReader.GetInt32("age"),
|
|
Passwort = myReader.GetString("passwort"),
|
|
Geld = myReader.GetInt32("geld")
|
|
};
|
|
|
|
user.Add(u);
|
|
}
|
|
|
|
|
|
myConnection.Close();
|
|
}
|
|
catch (MySql.Data.MySqlClient.MySqlException ex)
|
|
{
|
|
Console.WriteLine(ex.Message);
|
|
}
|
|
|
|
return user;
|
|
}
|
|
|
|
public byte[] GetCardImage(int id)
|
|
{
|
|
byte[] imageBytes = null;
|
|
|
|
using (MySqlConnection conn = new MySqlConnection(myConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (MySqlCommand cmd = new MySqlCommand("SELECT bild FROM Karten WHERE kartenid = @id", conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@id", id);
|
|
|
|
using (MySqlDataReader reader = cmd.ExecuteReader())
|
|
{
|
|
if (reader.Read())
|
|
{
|
|
imageBytes = (byte[])reader["bild"];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return imageBytes;
|
|
}
|
|
|
|
public List<Busfahrer.Card> GetAllCards()
|
|
{
|
|
var cards = new List<Busfahrer.Card>();
|
|
|
|
using (MySqlConnection conn = new MySqlConnection(myConnectionString))
|
|
{
|
|
conn.Open();
|
|
// Lädt alle echten Karten aus der Tabelle (schließt Rückseite 'Back' aus)
|
|
string query = "SELECT kartenid, wert, farbe, bild FROM Karten WHERE wert != 'Back' AND deckid != 'Slots'";
|
|
using (MySqlCommand cmd = new MySqlCommand(query, conn))
|
|
{
|
|
using (MySqlDataReader reader = cmd.ExecuteReader())
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
int id = reader.GetInt32("kartenid");
|
|
string wert = reader.GetString("wert");
|
|
string farbe = reader.GetString("farbe");
|
|
byte[] img = (byte[])reader["bild"];
|
|
|
|
cards.Add(new Busfahrer.Card(id, wert, farbe, img));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return cards;
|
|
}
|
|
|
|
// NEU: Holt das Bild der Kartenrückseite
|
|
public byte[] GetCardBackImage()
|
|
{
|
|
byte[] imageBytes = null;
|
|
|
|
using (MySqlConnection conn = new MySqlConnection(myConnectionString))
|
|
{
|
|
conn.Open();
|
|
string query = "SELECT bild FROM Karten WHERE wert = 'Back' OR deckid = 'Back' LIMIT 1";
|
|
using (MySqlCommand cmd = new MySqlCommand(query, conn))
|
|
{
|
|
using (MySqlDataReader reader = cmd.ExecuteReader())
|
|
{
|
|
if (reader.Read())
|
|
{
|
|
imageBytes = (byte[])reader["bild"];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return imageBytes;
|
|
}
|
|
|
|
public byte[] GetSound(int id)
|
|
{
|
|
byte[] soundBytes = null;
|
|
|
|
using (MySqlConnection conn = new MySqlConnection(myConnectionString))
|
|
{
|
|
conn.Open();
|
|
using (MySqlCommand cmd = new MySqlCommand("SELECT sound FROM Sounds WHERE id = @id",conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@id", id);
|
|
|
|
using (MySqlDataReader reader = cmd.ExecuteReader())
|
|
{
|
|
if (reader.Read())
|
|
{
|
|
soundBytes = (byte[])reader["sound"];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return soundBytes;
|
|
}
|
|
public void UpdateGeld(string id, decimal geld)
|
|
{
|
|
using (MySqlConnection conn = new MySqlConnection(myConnectionString))
|
|
{
|
|
conn.Open();
|
|
|
|
using (MySqlCommand cmd = new MySqlCommand(
|
|
"UPDATE Nutzer SET Geld = @geld WHERE id = @id", conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@geld", geld);
|
|
cmd.Parameters.AddWithValue("@id", id);
|
|
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|