diff --git a/GlobalTerminalService/GTServer4.cs b/GlobalTerminalService/GTServer4.cs index 881b503f..d5ca226f 100644 --- a/GlobalTerminalService/GTServer4.cs +++ b/GlobalTerminalService/GTServer4.cs @@ -263,7 +263,7 @@ namespace PkmnFoundations.GlobalTerminalService } long serial = BitConverter.ToInt64(data, 0x140); - BattleVideoRecord4 record = DataAbstract.Instance.BattleVideoGet4(serial); + BattleVideoRecord4 record = DataAbstract.Instance.BattleVideoGet4(serial, true); if (record == null) { response.Write(new byte[] { 0x02, 0x00 }, 0, 2); diff --git a/GlobalTerminalService/GTServer5.cs b/GlobalTerminalService/GTServer5.cs index 71664aef..c2629ee8 100644 --- a/GlobalTerminalService/GTServer5.cs +++ b/GlobalTerminalService/GTServer5.cs @@ -224,7 +224,7 @@ namespace PkmnFoundations.GlobalTerminalService } long serial = BitConverter.ToInt64(data, 0x140); - BattleVideoRecord5 record = DataAbstract.Instance.BattleVideoGet5(serial); + BattleVideoRecord5 record = DataAbstract.Instance.BattleVideoGet5(serial, true); if (record == null) { response.Write(new byte[] { 0x02, 0x00 }, 0, 2); diff --git a/library/Data/DataAbstract.cs b/library/Data/DataAbstract.cs index 667e58ac..f9e7cf7e 100644 --- a/library/Data/DataAbstract.cs +++ b/library/Data/DataAbstract.cs @@ -91,7 +91,7 @@ namespace PkmnFoundations.Data public abstract long BattleVideoUpload4(BattleVideoRecord4 record); public abstract BattleVideoHeader4[] BattleVideoSearch4(ushort species, BattleVideoRankings4 ranking, BattleVideoMetagames4 metagame, byte country, byte region, int count); - public abstract BattleVideoRecord4 BattleVideoGet4(long serial); + public abstract BattleVideoRecord4 BattleVideoGet4(long serial, bool incrementViews = false); #endregion #region Global Terminal 5 @@ -103,7 +103,7 @@ namespace PkmnFoundations.Data public abstract long BattleVideoUpload5(BattleVideoRecord5 record); public abstract BattleVideoHeader5[] BattleVideoSearch5(ushort species, BattleVideoRankings5 ranking, BattleVideoMetagames5 metagame, byte country, byte region, int count); - public abstract BattleVideoRecord5 BattleVideoGet5(long serial); + public abstract BattleVideoRecord5 BattleVideoGet5(long serial, bool incrementViews = false); #endregion } } diff --git a/library/Data/DataMysql.cs b/library/Data/DataMysql.cs index 3f85a33d..2c45b5af 100644 --- a/library/Data/DataMysql.cs +++ b/library/Data/DataMysql.cs @@ -1057,12 +1057,16 @@ namespace PkmnFoundations.Data return new BattleVideoHeader4(reader.GetInt32(0), reader.GetInt64(1), data); } - public override BattleVideoRecord4 BattleVideoGet4(long serial) + public override BattleVideoRecord4 BattleVideoGet4(long serial, bool incrementViews = false) { + String update = incrementViews ? "UPDATE TerminalBattleVideos4 " + + "SET Views = Views + 1 WHERE SerialNumber = @serial; " + : ""; + using (MySqlConnection db = CreateConnection()) { db.Open(); - MySqlDataReader reader = (MySqlDataReader)db.ExecuteReader("SELECT pid, " + + MySqlDataReader reader = (MySqlDataReader)db.ExecuteReader(update + "SELECT pid, " + "SerialNumber, Header, Data FROM TerminalBattleVideos4 " + "WHERE SerialNumber = @serial", new MySqlParameter("@serial", serial)); @@ -1403,12 +1407,16 @@ namespace PkmnFoundations.Data return new BattleVideoHeader5(reader.GetInt32(0), reader.GetInt64(1), data); } - public override BattleVideoRecord5 BattleVideoGet5(long serial) + public override BattleVideoRecord5 BattleVideoGet5(long serial, bool incrementViews = false) { + String update = incrementViews ? "UPDATE TerminalBattleVideos5 " + + "SET Views = Views + 1 WHERE SerialNumber = @serial; " + : ""; + using (MySqlConnection db = CreateConnection()) { db.Open(); - MySqlDataReader reader = (MySqlDataReader)db.ExecuteReader("SELECT pid, " + + MySqlDataReader reader = (MySqlDataReader)db.ExecuteReader(update + "SELECT pid, " + "SerialNumber, Header, Data FROM TerminalBattleVideos5 " + "WHERE SerialNumber = @serial", new MySqlParameter("@serial", serial));