mirror of
https://github.com/mm201/pkmn-classic-framework.git
synced 2026-09-10 19:25:15 -05:00
Added admin link on available Pokémon listing.
This commit is contained in:
@@ -407,7 +407,7 @@ namespace PkmnFoundations.Data
|
||||
"RequestedSpecies, RequestedGender, RequestedMinLevel, RequestedMaxLevel, " +
|
||||
"Unknown1, TrainerGender, Unknown2, TimeDeposited, TimeExchanged, pid, " +
|
||||
"TrainerName, TrainerOT, TrainerCountry, TrainerRegion, TrainerClass, " +
|
||||
"IsExchanged, TrainerVersion, TrainerLanguage FROM GtsPokemon4 " + where +
|
||||
"IsExchanged, TrainerVersion, TrainerLanguage, id FROM GtsPokemon4 " + where +
|
||||
" ORDER BY TimeDeposited DESC" + limit,
|
||||
_params.ToArray()))
|
||||
{
|
||||
@@ -416,7 +416,11 @@ namespace PkmnFoundations.Data
|
||||
else records = new List<GtsRecord4>();
|
||||
|
||||
while (reader.Read())
|
||||
records.Add(Record4FromReader(pokedex, reader));
|
||||
{
|
||||
var record = Record4FromReader(pokedex, reader);
|
||||
record.TradeId = DatabaseExtender.Cast<ulong>(reader["id"]);
|
||||
records.Add(record);
|
||||
}
|
||||
|
||||
reader.Close();
|
||||
return records.ToArray();
|
||||
@@ -432,40 +436,28 @@ namespace PkmnFoundations.Data
|
||||
{
|
||||
GtsRecord4 result = new GtsRecord4(pokedex);
|
||||
|
||||
byte[] data = new byte[236];
|
||||
reader.GetBytes(0, 0, data, 0, 236);
|
||||
result.Data = data;
|
||||
data = null;
|
||||
|
||||
// xxx: Shouldn't use column ordinals
|
||||
result.Species = reader.GetUInt16(1);
|
||||
result.Gender = (Genders)reader.GetByte(2);
|
||||
result.Level = reader.GetByte(3);
|
||||
result.RequestedSpecies = reader.GetUInt16(4);
|
||||
result.RequestedGender = (Genders)reader.GetByte(5);
|
||||
result.RequestedMinLevel = reader.GetByte(6);
|
||||
result.RequestedMaxLevel = reader.GetByte(7);
|
||||
result.Unknown1 = reader.GetByte(8);
|
||||
result.TrainerGender = (TrainerGenders)reader.GetByte(9);
|
||||
result.Unknown2 = reader.GetByte(10);
|
||||
if (reader.IsDBNull(11)) result.TimeDeposited = null;
|
||||
else result.TimeDeposited = reader.GetDateTime(11);
|
||||
if (reader.IsDBNull(12)) result.TimeExchanged = null;
|
||||
else result.TimeExchanged = reader.GetDateTime(12);
|
||||
result.PID = reader.GetInt32(13);
|
||||
|
||||
data = new byte[16];
|
||||
reader.GetBytes(14, 0, data, 0, 16);
|
||||
result.TrainerNameEncoded = new EncodedString4(data);
|
||||
data = null;
|
||||
|
||||
result.TrainerOT = reader.GetUInt16(15);
|
||||
result.TrainerCountry = reader.GetByte(16);
|
||||
result.TrainerRegion = reader.GetByte(17);
|
||||
result.TrainerClass = reader.GetByte(18);
|
||||
result.IsExchanged = reader.GetByte(19);
|
||||
result.TrainerVersion = (Versions)reader.GetByte(20);
|
||||
result.TrainerLanguage = (Languages)reader.GetByte(21);
|
||||
result.Data = DatabaseExtender.Cast<byte[]>(reader["Data"]);
|
||||
result.Species = DatabaseExtender.Cast<ushort>(reader["Species"]);
|
||||
result.Gender = (Genders)DatabaseExtender.Cast<byte>(reader["Gender"]);
|
||||
result.Level = DatabaseExtender.Cast<byte>(reader["Level"]);
|
||||
result.RequestedSpecies = DatabaseExtender.Cast<ushort>(reader["RequestedSpecies"]);
|
||||
result.RequestedGender = (Genders)DatabaseExtender.Cast<byte>(reader["RequestedGender"]);
|
||||
result.RequestedMinLevel = DatabaseExtender.Cast<byte>(reader["RequestedMinLevel"]);
|
||||
result.RequestedMaxLevel = DatabaseExtender.Cast<byte>(reader["RequestedMaxLevel"]);
|
||||
result.Unknown1 = DatabaseExtender.Cast<byte>(reader["Unknown1"]);
|
||||
result.TrainerGender = (TrainerGenders)DatabaseExtender.Cast<byte>(reader["TrainerGender"]);
|
||||
result.Unknown2 = DatabaseExtender.Cast<byte>(reader["Unknown2"]);
|
||||
result.TimeDeposited = DatabaseExtender.Cast<DateTime ?>(reader["TimeDeposited"]);
|
||||
result.TimeExchanged = DatabaseExtender.Cast<DateTime?>(reader["TimeExchanged"]);
|
||||
result.PID = DatabaseExtender.Cast<int>(reader["pid"]);
|
||||
result.TrainerNameEncoded = new EncodedString4(DatabaseExtender.Cast<byte[]>(reader["TrainerName"]));
|
||||
result.TrainerOT = DatabaseExtender.Cast<ushort>(reader["TrainerOT"]);
|
||||
result.TrainerCountry = DatabaseExtender.Cast<byte>(reader["TrainerCountry"]);
|
||||
result.TrainerRegion = DatabaseExtender.Cast<byte>(reader["TrainerRegion"]);
|
||||
result.TrainerClass = DatabaseExtender.Cast<byte>(reader["TrainerClass"]);
|
||||
result.IsExchanged = DatabaseExtender.Cast<byte>(reader["IsExchanged"]);
|
||||
result.TrainerVersion = (Versions)DatabaseExtender.Cast<byte>(reader["TrainerVersion"]);
|
||||
result.TrainerLanguage = (Languages)DatabaseExtender.Cast<byte>(reader["TrainerLanguage"]);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -1571,7 +1563,7 @@ namespace PkmnFoundations.Data
|
||||
"RequestedSpecies, RequestedGender, RequestedMinLevel, RequestedMaxLevel, " +
|
||||
"Unknown1, TrainerGender, Unknown2, TimeDeposited, TimeExchanged, pid, " +
|
||||
"TrainerOT, TrainerName, TrainerCountry, TrainerRegion, TrainerClass, " +
|
||||
"IsExchanged, TrainerVersion, TrainerLanguage, TrainerBadges, TrainerUnityTower " +
|
||||
"IsExchanged, TrainerVersion, TrainerLanguage, TrainerBadges, TrainerUnityTower, id " +
|
||||
"FROM GtsPokemon5 " + where +
|
||||
" ORDER BY TimeDeposited DESC" + limit,
|
||||
_params.ToArray()))
|
||||
@@ -1581,7 +1573,11 @@ namespace PkmnFoundations.Data
|
||||
else records = new List<GtsRecord5>();
|
||||
|
||||
while (reader.Read())
|
||||
records.Add(Record5FromReader(pokedex, reader));
|
||||
{
|
||||
var record = Record5FromReader(pokedex, reader);
|
||||
record.TradeId = DatabaseExtender.Cast<ulong>(reader["id"]);
|
||||
records.Add(record);
|
||||
}
|
||||
|
||||
reader.Close();
|
||||
return records.ToArray();
|
||||
@@ -1590,47 +1586,40 @@ namespace PkmnFoundations.Data
|
||||
|
||||
private static GtsRecord5 Record5FromReader(Pokedex.Pokedex pokedex, MySqlDataReader reader)
|
||||
{
|
||||
// xxx: Don't use ordinals here
|
||||
GtsRecord5 result = new GtsRecord5(pokedex);
|
||||
|
||||
// xxx: Data and Unknown0 should share a database field.
|
||||
// (This requires migrating a lot of existing data)
|
||||
byte[] data = new byte[236];
|
||||
reader.GetBytes(0, 0, data, 0, 220);
|
||||
reader.GetBytes(1, 0, data, 220, 16);
|
||||
result.Data = data;
|
||||
data = null;
|
||||
byte[] data = DatabaseExtender.Cast<byte[]>(reader["Data"]);
|
||||
byte[] unknown0 = DatabaseExtender.Cast<byte[]>(reader["Unknown0"]);
|
||||
byte[] combined = new byte[236];
|
||||
Array.Copy(data, 0, combined, 0, 220);
|
||||
Array.Copy(unknown0, 0, combined, 220, 16);
|
||||
result.Data = combined;
|
||||
|
||||
result.Species = reader.GetUInt16(2);
|
||||
result.Gender = (Genders)reader.GetByte(3);
|
||||
result.Level = reader.GetByte(4);
|
||||
result.RequestedSpecies = reader.GetUInt16(5);
|
||||
result.RequestedGender = (Genders)reader.GetByte(6);
|
||||
result.RequestedMinLevel = reader.GetByte(7);
|
||||
result.RequestedMaxLevel = reader.GetByte(8);
|
||||
result.Unknown1 = reader.GetByte(9);
|
||||
result.TrainerGender = (TrainerGenders)reader.GetByte(10);
|
||||
result.Unknown2 = reader.GetByte(11);
|
||||
if (reader.IsDBNull(12)) result.TimeDeposited = null;
|
||||
else result.TimeDeposited = reader.GetDateTime(12);
|
||||
if (reader.IsDBNull(13)) result.TimeExchanged = null;
|
||||
else result.TimeExchanged = reader.GetDateTime(13);
|
||||
result.PID = reader.GetInt32(14);
|
||||
result.TrainerOT = reader.GetUInt32(15);
|
||||
|
||||
data = new byte[16];
|
||||
reader.GetBytes(16, 0, data, 0, 16);
|
||||
result.TrainerNameEncoded = new EncodedString5(data);
|
||||
data = null;
|
||||
|
||||
result.TrainerCountry = reader.GetByte(17);
|
||||
result.TrainerRegion = reader.GetByte(18);
|
||||
result.TrainerClass = reader.GetByte(19);
|
||||
result.IsExchanged = reader.GetByte(20);
|
||||
result.TrainerVersion = (Versions)reader.GetByte(21);
|
||||
result.TrainerLanguage = (Languages)reader.GetByte(22);
|
||||
result.TrainerBadges = reader.GetByte(23);
|
||||
result.TrainerUnityTower = reader.GetByte(24);
|
||||
result.Species = DatabaseExtender.Cast<ushort>(reader["Species"]);
|
||||
result.Gender = (Genders)DatabaseExtender.Cast<byte>(reader["Gender"]);
|
||||
result.Level = DatabaseExtender.Cast<byte>(reader["Level"]);
|
||||
result.RequestedSpecies = DatabaseExtender.Cast<ushort>(reader["RequestedSpecies"]);
|
||||
result.RequestedGender = (Genders)DatabaseExtender.Cast<byte>(reader["RequestedGender"]);
|
||||
result.RequestedMinLevel = DatabaseExtender.Cast<byte>(reader["RequestedMinLevel"]);
|
||||
result.RequestedMaxLevel = DatabaseExtender.Cast<byte>(reader["RequestedMaxLevel"]);
|
||||
result.Unknown1 = DatabaseExtender.Cast<byte>(reader["Unknown1"]);
|
||||
result.TrainerGender = (TrainerGenders)DatabaseExtender.Cast<byte>(reader["TrainerGender"]);
|
||||
result.Unknown2 = DatabaseExtender.Cast<byte>(reader["Unknown2"]);
|
||||
result.TimeDeposited = DatabaseExtender.Cast<DateTime ?>(reader["TimeDeposited"]);
|
||||
result.TimeExchanged = DatabaseExtender.Cast<DateTime ?>(reader["TimeExchanged"]);
|
||||
result.PID = DatabaseExtender.Cast<int>(reader["pid"]);
|
||||
result.TrainerOT = DatabaseExtender.Cast<uint>(reader["TrainerOT"]);
|
||||
result.TrainerNameEncoded = new EncodedString5(DatabaseExtender.Cast<byte[]>(reader["TrainerName"]));
|
||||
result.TrainerCountry = DatabaseExtender.Cast<byte>(reader["TrainerCountry"]);
|
||||
result.TrainerRegion = DatabaseExtender.Cast<byte>(reader["TrainerRegion"]);
|
||||
result.TrainerClass = DatabaseExtender.Cast<byte>(reader["TrainerClass"]);
|
||||
result.IsExchanged = DatabaseExtender.Cast<byte>(reader["IsExchanged"]);
|
||||
result.TrainerVersion = (Versions)DatabaseExtender.Cast<byte>(reader["TrainerVersion"]);
|
||||
result.TrainerLanguage = (Languages)DatabaseExtender.Cast<byte>(reader["TrainerLanguage"]);
|
||||
result.TrainerBadges = DatabaseExtender.Cast<byte>(reader["TrainerBadges"]);
|
||||
result.TrainerUnityTower = DatabaseExtender.Cast<byte>(reader["TrainerUnityTower"]);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -81,6 +81,8 @@ namespace PkmnFoundations.Structures
|
||||
public Versions TrainerVersion;
|
||||
public Languages TrainerLanguage;
|
||||
|
||||
public ulong TradeId;
|
||||
|
||||
public virtual bool Validate()
|
||||
{
|
||||
// note that IsExchanged only becomes true after FlagTraded is
|
||||
|
||||
@@ -135,6 +135,7 @@
|
||||
<%# CreateGender(Container.DataItem) %>
|
||||
<%# CreatePokerus(Container.DataItem) %>
|
||||
</li>
|
||||
<%# CreateAdminLinks(Container.DataItem) %>
|
||||
</ul>
|
||||
</td>
|
||||
<tr class="pfFormPair">
|
||||
|
||||
@@ -255,5 +255,21 @@ namespace PkmnFoundations.GTS
|
||||
if (record.TimeDeposited == null) return "";
|
||||
return Common.HtmlEncode(((DateTime)record.TimeDeposited).ToString("f"));
|
||||
}
|
||||
|
||||
protected string CreateAdminLinks(object DataItem)
|
||||
{
|
||||
#if DEBUG
|
||||
GtsRecordBase record = (GtsRecordBase)DataItem;
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
result.Append("<li><a class=\"ui-button\" href=\"");
|
||||
result.Append(Common.HtmlEncode(Common.ResolveUrl("~/gts/Pokemon.aspx?g=" + (rbGen4.Checked ? "4" : "5") + "&offer=" + record.TradeId.ToString())));
|
||||
result.Append("\" target=\"_blank\">Details</a></li>");
|
||||
|
||||
return result.ToString();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
38
web/gts/Default.aspx.designer.cs
generated
38
web/gts/Default.aspx.designer.cs
generated
@@ -7,11 +7,13 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace PkmnFoundations.GTS {
|
||||
|
||||
|
||||
public partial class AllPokemon {
|
||||
|
||||
namespace PkmnFoundations.GTS
|
||||
{
|
||||
|
||||
|
||||
public partial class AllPokemon
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// HeaderColour1 control.
|
||||
/// </summary>
|
||||
@@ -20,7 +22,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::PkmnFoundations.Web.HeaderColour HeaderColour1;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// theForm control.
|
||||
/// </summary>
|
||||
@@ -29,7 +31,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm theForm;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ppSpecies control.
|
||||
/// </summary>
|
||||
@@ -38,7 +40,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::PkmnFoundations.Web.controls.PokemonPicker ppSpecies;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// rbGen4 control.
|
||||
/// </summary>
|
||||
@@ -47,7 +49,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton rbGen4;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblGen4 control.
|
||||
/// </summary>
|
||||
@@ -56,7 +58,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblGen4;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// rbGen5 control.
|
||||
/// </summary>
|
||||
@@ -65,7 +67,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton rbGen5;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// lblGen5 control.
|
||||
/// </summary>
|
||||
@@ -74,7 +76,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblGen5;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch control.
|
||||
/// </summary>
|
||||
@@ -83,7 +85,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSearch;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtLevelMin control.
|
||||
/// </summary>
|
||||
@@ -92,7 +94,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtLevelMin;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// txtLevelMax control.
|
||||
/// </summary>
|
||||
@@ -101,7 +103,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtLevelMax;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// chkMale control.
|
||||
/// </summary>
|
||||
@@ -110,7 +112,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkMale;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// chkFemale control.
|
||||
/// </summary>
|
||||
@@ -119,7 +121,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkFemale;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// phNone control.
|
||||
/// </summary>
|
||||
@@ -128,7 +130,7 @@ namespace PkmnFoundations.GTS {
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.PlaceHolder phNone;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// rptPokemon control.
|
||||
/// </summary>
|
||||
|
||||
@@ -185,6 +185,9 @@
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</asp:PlaceHolder>
|
||||
</asp:Content>
|
||||
|
||||
Reference in New Issue
Block a user