//By default get all public files
        public static List <File> GetFilesByAccessType(File.AccessType accessType = File.AccessType.PUBLIC)
        {
            List <File> fileList = new List <File>();

            try
            {
                MySqlConnection conn = GetMySqlConnection();
                MySqlCommand    cmd  = new MySqlCommand(GET_FILES_BY_ACCESS_TYPE_SQL, conn);
                cmd.Parameters.AddWithValue("@accessType", accessType.ToString());
                MySqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    File newFile = new File(rdr.GetString(1), rdr.GetString(2), rdr.GetString(3),
                                            rdr.GetInt16(4), FileUtils.AccessTypeConverter(rdr.GetString(5)), rdr.GetDateTime(6));
                    fileList.Add(newFile);
                }

                rdr.Close();
            }
            catch (Exception e)
            {
                //TO-DO
            }

            return(fileList);
        }
        public static void UpdateAccessType(PrimaryKey pk, File.AccessType newAccessType)
        {
            try
            {
                MySqlConnection conn = GetMySqlConnection();

                MySqlCommand cmd = new MySqlCommand(UPDATE_ACCESS_TYPE_SQL, conn);
                cmd.Parameters.AddWithValue("@fileName", pk.FileName);
                cmd.Parameters.AddWithValue("@owner", pk.Owner);
                cmd.Parameters.AddWithValue("@incCount", pk.IncCount);
                cmd.Parameters.AddWithValue("@newAccessType", newAccessType.ToString());

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.ToString());
            }
        }
        public static void InsertFile(PrimaryKey pk, String filePath, File.AccessType accessType = File.AccessType.PRIVATE)
        {
            try
            {
                MySqlConnection conn = GetMySqlConnection();

                MySqlCommand cmd = new MySqlCommand(INSERT_SQL, conn);
                cmd.Parameters.AddWithValue("@fileName", pk.FileName);
                cmd.Parameters.AddWithValue("@owner", pk.Owner);
                cmd.Parameters.AddWithValue("@incCount", pk.IncCount);
                cmd.Parameters.AddWithValue("@filePath", filePath);
                cmd.Parameters.AddWithValue("@accessType", accessType.ToString());

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.ToString());
            }
        }