Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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();
        }