/// <summary> /// Authentificate a user /// </summary> /// <param name="name">Name to check</param> /// <param name="password">Password to check</param> /// <returns>A new user or null</returns> public User Authentification(string name, string password) { string sql = "SELECT u.id, u.name, u.password, i.picture, l.lastConnection " + "FROM users AS u " + "JOIN images AS i on i.userId = u.id " + "JOIN logs AS l on u.id = l.userId " + "WHERE u.name = @name AND u.password = @password"; MySqlCommand command = new MySqlCommand(sql, connection); User user = null; string encrypted = EncryptUtils.Encrypt(password.Trim()); command.Parameters.AddWithValue("@name", name.Trim()); command.Parameters.AddWithValue("@password", encrypted); MySqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { user = HydrateUtils.HydrateNewUser(ref reader); } } reader.Close(); return(user); }
/// <summary> /// Retrieve data of current user /// </summary> /// <param name="toRefresh">User to refresh</param> public void RefreshCurrentUser(ref User toRefresh) { string sql = "SELECT u.id, u.name, u.password, i.picture, l.lastConnection " + "FROM users AS u " + "JOIN images AS i on i.userId = u.id " + "JOIN logs AS l on u.id = l.userId " + "WHERE u.id = @id"; MySqlCommand command = new MySqlCommand(sql, connection); command.Parameters.AddWithValue("@id", toRefresh.Id); MySqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { HydrateUtils.HydrateCurrentUser(ref reader, ref toRefresh); } } reader.Close(); }