/// <summary> /// Constructor form salones /// </summary> public FormSalones() { this.WindowState = FormWindowState.Maximized; InitializeComponent(); panel1.BackColor = Color.FromArgb(90, Color.Black); BotonCerrarSesion.Hide(); if (Properties.Settings.Default.Admin == true) { BotonCerrarSesion.Show(); pictureBox3.Hide(); } }
/// <summary> /// Método de administración de usuarios /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void pictureBox3_Click(object sender, EventArgs e) { ///<value> cont solo sirve para que la primera vez que accedas, te muestre un form para crear un usuario</value> if (Properties.Settings.Default.cont == 0) { FormUsuario usuario = new FormUsuario(); if (usuario.ShowDialog() == DialogResult.OK) { string user = usuario.user; string pwd = usuario.pwd; ///<summary> ///Conectamos con la base de datos ///</sumary> MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); builder.Server = "localhost"; builder.UserID = "root"; builder.Password = ""; builder.Database = "restaurante"; MySqlConnection conn = new MySqlConnection(builder.ToString()); MySqlCommand query = conn.CreateCommand(); ///<summary> ///Si ya hay una cuenta de admin, antes de añadir otra, borramos la que hay previamente /// </summary> query.CommandText = "Delete from usuarios"; try { conn.Open(); query.ExecuteNonQuery(); } ///<exception cref="MySqlException">Error al insertar en la base de datos</exception> catch (MySqlException exception) { MessageBox.Show(exception.Message); } ///<sumary> ///Insertamos en la base de datos los valores intoducidos por el usuario /// </sumary> if (usuario.user != "" && usuario.pwd != "") { query.CommandText = "INSERT INTO usuarios (nombUsuario,contraseña) value ('" + usuario.user + "','" + usuario.pwd + "')"; try { Properties.Settings.Default.cont++; Properties.Settings.Default.Save(); query.ExecuteNonQuery(); MessageBox.Show("Usuario creado correctamente"); } ///<exception cref="MySqlException">Error al insertar en la base de datos</exception> catch (MySqlException exception) { MessageBox.Show(exception.Message); } } else { MessageBox.Show("No has introducido ningún valor"); } } } else { ///<summary> ///Si ya hemos creado un usuario anteriormente, iremos este form /// </summary> FormSesion sesion = new FormSesion(); ///<summary> ///Abrimos formSesion /// </summary> if (sesion.ShowDialog() == DialogResult.OK) { ///<value> ///Valores que el usuario introduce en FormSesiones ///sesion.NombreAdmin, sesion.pwd son getters de la clase sesion /// </value> NombreSesion = sesion.NombreAdmin; pwdSesion = sesion.pwd; ///<exception cref="MySqlException">Error al insertar en la base de datos</exception> try { ///<summary> ///Abrimos base de datos /// </summary> MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); builder.Server = "localhost"; builder.UserID = "root"; builder.Password = ""; builder.Database = "restaurante"; MySqlConnection conn = new MySqlConnection(builder.ToString()); MySqlCommand query = conn.CreateCommand(); conn.Open(); query.CommandText = "SELECT nombUsuario,contraseña from usuarios"; MySqlDataReader reader = query.ExecuteReader(); ///<summary> ///Leemos las filas que devuelve la consulta /// </summary> while (reader.Read()) { ///<value> ///Valores que devuelven la consulta /// </value> valorNombre = (string)reader[0]; ValorPwd = (string)reader[1]; } ///<sumary> ///Aqui comprobamos que si los valores que introduce ///son válidos o no /// </sumary> if (valorNombre != null && ValorPwd != null) { if (valorNombre.Equals(NombreSesion) && ValorPwd.Equals(pwdSesion)) { Properties.Settings.Default.Admin = true; BotonCerrarSesion.Show(); pictureBox3.Hide(); ///<summary> ///Cerramos reader y conexion /// </summary> reader.Close(); conn.Close(); } else { ///<summary> ///Si no son válidos los valores introducidos /// </summary> MessageBox.Show("Nombre o contraseña incorrecta"); reader.Close(); conn.Close(); } } ///<summary> ///Si el usuario no introduce ningún dato /// </summary> else { MessageBox.Show("No se han introducido valores para usuario y/o contraseña"); } } catch (MySqlException exception) { MessageBox.Show(exception.Message); } } } }