diff --git a/web/gts/Default.aspx.cs b/web/gts/Default.aspx.cs index 3bfca14f..8abbad4f 100644 --- a/web/gts/Default.aspx.cs +++ b/web/gts/Default.aspx.cs @@ -52,45 +52,88 @@ namespace PkmnFoundations.GTS protected String CreateOffer4(object DataItem) { GtsRecord4 record = (GtsRecord4)DataItem; - Pokemon4 pokemon = new Pokemon4(m_pokedex, record.Data); - + Pokemon4 pokemon = null; StringBuilder builder = new StringBuilder(); + try { - builder.Append(String.Format("{0} (#{1})", pokemon.Species.Name, pokemon.SpeciesID)); + pokemon = new Pokemon4(m_pokedex, record.Data); } - catch (KeyNotFoundException) + catch { - builder.Append(String.Format("??? (#{0})", pokemon.SpeciesID)); + builder.Append("Failure to parse pokemon data.
"); } - builder.Append("
"); - if (pokemon.FormID != 0) + + try { try { - builder.Append(pokemon.Form.Name); + builder.Append(String.Format("{0} (#{1})", pokemon.Species.Name, pokemon.SpeciesID)); } catch (KeyNotFoundException) { - builder.Append("Unknown form"); + builder.Append(String.Format("??? (#{0})", record.Species)); + } + catch (NullReferenceException) + { + builder.Append(String.Format("??? (#{0})", record.Species)); + } + builder.Append("
"); + try + { + if (pokemon.FormID != 0) + { + try + { + builder.Append(pokemon.Form.Name); + } + catch (KeyNotFoundException) + { + builder.Append("Unknown form"); + } + catch (NullReferenceException) + { + builder.Append("Unknown form"); + } + builder.Append("
"); + } + } + catch (NullReferenceException) + { + builder.Append("Unknown form"); + } + builder.Append(String.Format("Lv {0}", record.Level)); + builder.Append(String.Format(", {0}", record.Gender)); + builder.Append("
"); + try + { + builder.Append(String.Format("Nature: {0}", pokemon.Nature.ToString())); + } + catch (NullReferenceException) + { + builder.Append("Nature: ???"); + } + builder.Append("
"); + try + { + builder.Append(String.Format("Ability: {0}", pokemon.Ability.Name)); + } + catch (KeyNotFoundException) + { + builder.Append("Ability: ???"); + } + catch (NullReferenceException) + { + builder.Append("Ability: ???"); } builder.Append("
"); - } - builder.Append(String.Format("Lv {0}, {1}", record.Level, record.Gender)); - builder.Append("
"); - builder.Append(String.Format("Nature: {0}", pokemon.Nature.ToString())); - builder.Append("
"); - try - { - builder.Append(String.Format("Ability: {0}", pokemon.Ability.Name)); - } - catch (KeyNotFoundException) - { - builder.Append("Ability: ???"); - } - builder.Append("
"); - return builder.ToString(); + return builder.ToString(); + } + catch + { + return "Encountered an error trying to display this offer."; + } } protected String CreateWanted4(object DataItem)