Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using AltV.Net;
- using MySql.Data.MySqlClient;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Pcore_Altv
- {
- internal class Datenbank : Server
- {
- public static bool DatenbankVerbindung = false;
- public static MySqlConnection Connection;
- public string Host { get; set; }
- public String Username { get; set; }
- public String Password { get; set; }
- public String Database { get; set; }
- public Datenbank()
- {
- this.Host = "192.168.10.16";
- this.Username = "themock";
- this.Password = "bzSN8XhGjancGo";
- this.Database = "pcorealtv";
- }
- public static String GetConnectionString()
- {
- Datenbank sql = new Datenbank();
- String SQLConnection = $"SERVER={sql.Host}; DATABASE={sql.Database}; UID={sql.Username}; Password={sql.Password}";
- return SQLConnection;
- }
- public static void InitConnection()
- {
- String SQLConnection = GetConnectionString();
- Connection = new MySqlConnection(SQLConnection);
- try
- {
- Connection.Open();
- DatenbankVerbindung = true;
- Alt.Log("MYSQL Verbindung aufgebaut!");
- }
- catch (Exception e)
- {
- DatenbankVerbindung = false;
- Alt.Log("MYSQL Verbindung konnte nicht aufgebaut werden");
- Alt.Log(e.ToString());
- System.Threading.Thread.Sleep(5000);
- Environment.Exit(0);
- }
- }
- public static bool IstAccountBereitsVorhaden(string name)
- {
- MySqlCommand command = Connection.CreateCommand();
- command.CommandText = "SELECT * FROM users WHERE name=@name LIMIT 1";
- command.Parameters.AddWithValue("@name", name);
- using(MySqlDataReader reader = command.ExecuteReader())
- {
- if (reader.HasRows)
- {
- return true;
- }
- }
- return false;
- }
- public static int NeuenAccountErstellen(String name, string password)
- {
- string saltedPw = BCrypt.HashPassword(password, BCrypt.GenerateSalt());
- try
- {
- MySqlCommand command = Connection.CreateCommand();
- command.CommandText = "INSERT INTO users (password, name) VALUES (@password, @name)";
- command.Parameters.AddWithValue("@password", saltedPw);
- command.Parameters.AddWithValue("@name", name);
- command.ExecuteNonQuery();
- return (int)command.LastInsertedId;
- }
- catch (Exception e)
- {
- Alt.Log("Fehler bei NeuenAccountErstellen: " + e.ToString());
- return -1;
- }
- }
- public static void AccountLaden(PcorePlayer.PcorePlayer pcorePlayer)
- {
- MySqlCommand command = Connection.CreateCommand();
- command.CommandText = "SELECT * FROM users WHERE name=@name LIMIT 1";
- command.Parameters.AddWithValue("@name", pcorePlayer.SpielerName);
- using(MySqlDataReader reader = command.ExecuteReader())
- {
- if(reader.HasRows)
- {
- reader.Read();
- pcorePlayer.SpielerID = reader.GetInt32("id");
- pcorePlayer.Adminlevel = reader.GetInt16("adminlevel");
- pcorePlayer.Geld = reader.GetInt32("geld");
- }
- }
- }
- public static void AccountSpeichern(PcorePlayer.PcorePlayer pcorePlayer)
- {
- MySqlCommand command = Connection.CreateCommand();
- command.CommandText = "UPDATE users SET adminlevel=@adminlevel, geld=@geld WHERE id=@id";
- command.Parameters.AddWithValue("@adminlevel", pcorePlayer.Adminlevel);
- command.Parameters.AddWithValue("@geld", pcorePlayer.Geld);
- command.Parameters.AddWithValue("@id", pcorePlayer.SpielerID);
- }
- public static bool PasswordChack(string name, string passwordinput)
- {
- string password = "";
- MySqlCommand command = Connection.CreateCommand();
- command.CommandText = "SELECT password FROM users WHERE name=@name LIMIT 1";
- command.Parameters.AddWithValue("@name", name);
- using (MySqlDataReader reader = command.ExecuteReader())
- {
- if (reader.HasRows)
- {
- reader.Read();
- password = reader.GetString("password");
- }
- }
- if (BCrypt.CheckPassword(passwordinput, password)) return true;
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement