Advertisement
TheMock

altv datenbank.cd

May 24th, 2022
1,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.95 KB | None | 0 0
  1. using AltV.Net;
  2. using MySql.Data.MySqlClient;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9. namespace Pcore_Altv
  10. {
  11.     internal class Datenbank : Server
  12.     {
  13.         public static bool DatenbankVerbindung = false;
  14.         public static MySqlConnection Connection;
  15.         public string Host { get; set; }
  16.         public String Username { get; set; }
  17.         public String Password { get; set; }
  18.         public String Database { get; set; }
  19.  
  20.         public Datenbank()
  21.         {
  22.             this.Host = "192.168.10.16";
  23.             this.Username = "themock";
  24.             this.Password = "bzSN8XhGjancGo";
  25.             this.Database = "pcorealtv";
  26.         }
  27.  
  28.         public static String GetConnectionString()
  29.         {
  30.             Datenbank sql = new Datenbank();
  31.             String SQLConnection = $"SERVER={sql.Host}; DATABASE={sql.Database}; UID={sql.Username}; Password={sql.Password}";
  32.             return SQLConnection;
  33.         }
  34.  
  35.         public static void InitConnection()
  36.         {
  37.             String SQLConnection = GetConnectionString();
  38.             Connection = new MySqlConnection(SQLConnection);
  39.             try
  40.             {
  41.                 Connection.Open();
  42.                 DatenbankVerbindung = true;
  43.                 Alt.Log("MYSQL Verbindung aufgebaut!");
  44.             }
  45.             catch (Exception e)
  46.             {
  47.                 DatenbankVerbindung = false;
  48.                 Alt.Log("MYSQL Verbindung konnte nicht aufgebaut werden");
  49.                 Alt.Log(e.ToString());
  50.                 System.Threading.Thread.Sleep(5000);
  51.                 Environment.Exit(0);
  52.             }
  53.         }
  54.         public static bool IstAccountBereitsVorhaden(string name)
  55.         {
  56.             MySqlCommand command = Connection.CreateCommand();
  57.             command.CommandText = "SELECT * FROM users WHERE name=@name LIMIT 1";
  58.             command.Parameters.AddWithValue("@name", name);
  59.             using(MySqlDataReader reader = command.ExecuteReader())
  60.             {
  61.                 if (reader.HasRows)
  62.                 {
  63.                     return true;
  64.                 }
  65.             }
  66.             return false;
  67.         }
  68.         public static int NeuenAccountErstellen(String name, string password)
  69.         {
  70.             string saltedPw = BCrypt.HashPassword(password, BCrypt.GenerateSalt());
  71.  
  72.             try
  73.             {
  74.                 MySqlCommand command = Connection.CreateCommand();
  75.                 command.CommandText = "INSERT INTO users (password, name) VALUES (@password, @name)";
  76.  
  77.                 command.Parameters.AddWithValue("@password", saltedPw);
  78.                 command.Parameters.AddWithValue("@name", name);
  79.                 command.ExecuteNonQuery();
  80.  
  81.                 return (int)command.LastInsertedId;
  82.             }
  83.             catch (Exception e)
  84.             {
  85.                 Alt.Log("Fehler bei NeuenAccountErstellen: " + e.ToString());
  86.                 return -1;
  87.             }
  88.         }
  89.         public static void AccountLaden(PcorePlayer.PcorePlayer pcorePlayer)
  90.         {
  91.             MySqlCommand command = Connection.CreateCommand();
  92.             command.CommandText = "SELECT * FROM users WHERE name=@name LIMIT 1";
  93.  
  94.             command.Parameters.AddWithValue("@name", pcorePlayer.SpielerName);
  95.  
  96.             using(MySqlDataReader reader = command.ExecuteReader())
  97.             {
  98.                 if(reader.HasRows)
  99.                 {
  100.                     reader.Read();
  101.                     pcorePlayer.SpielerID = reader.GetInt32("id");
  102.                     pcorePlayer.Adminlevel = reader.GetInt16("adminlevel");
  103.                     pcorePlayer.Geld = reader.GetInt32("geld");
  104.                 }
  105.             }
  106.         }
  107.         public static void AccountSpeichern(PcorePlayer.PcorePlayer pcorePlayer)
  108.         {
  109.             MySqlCommand command = Connection.CreateCommand();
  110.             command.CommandText = "UPDATE users SET adminlevel=@adminlevel, geld=@geld WHERE id=@id";
  111.             command.Parameters.AddWithValue("@adminlevel", pcorePlayer.Adminlevel);
  112.             command.Parameters.AddWithValue("@geld", pcorePlayer.Geld);
  113.             command.Parameters.AddWithValue("@id", pcorePlayer.SpielerID);
  114.         }
  115.         public static bool PasswordChack(string name, string passwordinput)
  116.         {
  117.             string password = "";
  118.             MySqlCommand command = Connection.CreateCommand();
  119.             command.CommandText = "SELECT password FROM users WHERE name=@name LIMIT 1";
  120.             command.Parameters.AddWithValue("@name", name);
  121.  
  122.             using (MySqlDataReader reader = command.ExecuteReader())
  123.             {
  124.                 if (reader.HasRows)
  125.                 {
  126.                     reader.Read();
  127.                     password = reader.GetString("password");
  128.                 }
  129.             }
  130.             if (BCrypt.CheckPassword(passwordinput, password)) return true;
  131.             return false;
  132.  
  133.         }
  134.     }
  135. }
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement