Advertisement
Guest User

Untitled

a guest
Sep 16th, 2016
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.08 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Diagnostics;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. using MySql.Data.MySqlClient;
  17.  
  18. namespace Dormonto
  19. {
  20.     /// <summary>
  21.     /// Interaction logic for MainWindow.xaml
  22.     /// </summary>
  23.     ///
  24.     public partial class MainWindow : Window
  25.     {
  26.         private string conn;
  27.         private MySqlConnection connect;
  28.  
  29.         public string userId { get; set; }
  30.  
  31.         public MainWindow()
  32.         {
  33.             InitializeComponent();
  34.  
  35.             cnvRegister.Visibility = Visibility.Hidden;
  36.             lblAccountRegisterSuccess.Visibility = Visibility.Hidden;
  37.             lblLoginSuccess.Visibility = Visibility.Hidden;
  38.             lblLoginFailed.Visibility = Visibility.Hidden;
  39.             lblServerMessedUp.Visibility = Visibility.Hidden;
  40.         }
  41.  
  42.         private void MainWindow_Loaded(object sender, RoutedEventArgs e)
  43.         {
  44.             Application.Current.MainWindow = this;
  45.         }
  46.  
  47.         private void db_connection()
  48.         {
  49.             try
  50.             {
  51.                 conn = "server=localhost:3306;uid=dormonto;" + "pwd=12donedone;database=dormont_users;";
  52.                 connect = new MySqlConnection(conn);
  53.                 connect.Open();
  54.             }
  55.             catch (MySqlException e)
  56.             {
  57.                 MessageBox.Show(e.Message);
  58.             }
  59.         }
  60.  
  61.         public bool validateLogin (string user, string pass)
  62.         {
  63.             db_connection();
  64.             string sql = "SELECT * FROM Dormonto WHERE Username=@user and _Password=@pass";
  65.             MySqlCommand cmd = new MySqlCommand(sql, connect);
  66.             cmd.Parameters.Add("@user", user);
  67.             cmd.Parameters.Add("@pass", pass);
  68.             MySqlDataReader login = cmd.ExecuteReader();
  69.  
  70.             lblServerSucess.Visibility = Visibility.Hidden;
  71.             // MySqlCommand cmd = new MySqlCommand($"SELECT * FROM Dormonto WHERE Username='{user}' AND _Password='{pass}'", connect);
  72.             // MySqlDataReader login = cmd.ExecuteReader();
  73.             try
  74.             {
  75.                 if (login.Read())
  76.                 {
  77.                     // LOGIN INFO CORRECT
  78.                     lblServerSucess.Visibility = Visibility.Hidden;
  79.                     lblLoginSuccess.Visibility = Visibility.Visible;
  80.  
  81.                     userId = login["UserID"].ToString();
  82.                     connect.Close();
  83.                     return true;
  84.                 }
  85.                 else
  86.                 {
  87.                     connect.Close();
  88.                     return false;
  89.                 }
  90.             }
  91.             catch (Exception ex)
  92.             {
  93.                 MessageBox.Show(ex.Message);
  94.                 lblServerMessedUp.Visibility = Visibility.Visible;
  95.                 return false;
  96.             }
  97.         }
  98.  
  99.         private void btnLogin_Click(object sender, RoutedEventArgs e)
  100.         {
  101.             lblServerMessedUp.Visibility = Visibility.Hidden;
  102.             lblAccountRegisterSuccess.Visibility = Visibility.Hidden;
  103.  
  104.             // run command to make sure the login info matches one in the database
  105.             string usernameUsed = tbUsername.Text;
  106.             string passwordUsed = passwordBox.Password;
  107.             validateLogin(usernameUsed, passwordUsed);
  108.  
  109.             if (validateLogin(usernameUsed, passwordUsed))
  110.             {
  111.                 // close current window and open client
  112.                 Intro window1 = new Intro(userId);
  113.                 window1.Show();
  114.                 this.Close();
  115.             }
  116.             else
  117.             {
  118.                 // LOGIN FAILED
  119.                 lblLoginFailed.Visibility = Visibility.Visible;
  120.                 Console.WriteLine("Incorrect login information entered.");
  121.             }
  122.         }
  123.  
  124.         private void button_Click(object sender, RoutedEventArgs e)
  125.         {
  126.             cnvRegister.Visibility = Visibility.Visible;
  127.         }
  128.  
  129.         private void btnRegister_Click(object sender, RoutedEventArgs e)
  130.         {
  131.             db_connection();
  132.             lblServerSucess.Visibility = Visibility.Hidden;
  133.             if ((tbRegisterUsername.Text.Length > 6) && (tbRegisterEmail.Text.Length > 7))
  134.             {
  135.                 try
  136.                 {
  137.                     // save user values to strings so we can add them to our server
  138.                     string registerUsername = tbRegisterUsername.Text;
  139.                     string registerPassword = pbRegisterPassword.Password;
  140.                     string registerEmail = tbRegisterEmail.Text;
  141.  
  142.                     // remember username, password, and email
  143.                     MySqlCommand addUser = connect.CreateCommand();
  144.                     addUser.CommandText = $"INSERT INTO Users (Username, Password, Email) VALUES ('"+registerUsername+"','"+registerPassword+"','"+registerEmail+"')";
  145.                     addUser.ExecuteNonQuery();
  146.                     lblAccountRegisterSuccess.Visibility = Visibility.Visible;
  147.                     cnvRegister.Visibility = Visibility.Hidden;
  148.  
  149.                     // add user with the same ID to table ranks
  150.                     MySqlCommand addUser2 = connect.CreateCommand();
  151.                     addUser2.CommandText = $"INSERT INTO ranks (Username) VALUES ('"+registerUsername+"')";
  152.                     addUser2.ExecuteNonQuery();
  153.  
  154.                     // add used with the same ID to table stats
  155.                     MySqlCommand addUser3 = connect.CreateCommand();
  156.                     addUser3.CommandText = $"INSERT INTO stats (Username) VALUES ('"+registerUsername+"')";
  157.                     addUser3.ExecuteNonQuery();
  158.                 }
  159.                 catch (Exception ex)
  160.                 {
  161.                     MessageBox.Show(ex.Message);
  162.                     connect.Close();
  163.                 }
  164.             }
  165.         }
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement