private void btnSendArtisanRequest_Click(object sender, RoutedEventArgs e) { tbJsonResponse.Clear(); ArtisanInfo artisanInfoResponse = DiabloService.GetArtisanInfo(RequestParameters.REGIONS.EU, RequestParameters.ARTISANS.BLACKSMITH, "en_GB", tbApiKey.Text); string output = JsonConvert.SerializeObject(artisanInfoResponse, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); tbJsonResponse.Text = output; }
/// <summary> /// Returns artisan information /// </summary> /// <param name="region">Player region</param> /// <param name="artisan">Chosen artisan</param> /// <param name="locale">Language code (locale)</param> /// <returns></returns> public static ArtisanInfo GetArtisanInfo(RequestParameters.REGIONS region, RequestParameters.ARTISANS artisan, string locale, string apiKeyValue) { using (HttpWebResponse response = RequestHandler.CreateArtisanRequest(region, Enum.GetName(typeof(RequestParameters.ARTISANS), artisan).ToLower(), locale, apiKeyValue)) { if (response.StatusCode != HttpStatusCode.OK) { throw new Exception(String.Format("Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription)); } DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(ArtisanInfo)); object objResponse = jsonSerializer.ReadObject(response.GetResponseStream()); ArtisanInfo jsonResponse = objResponse as ArtisanInfo; return(jsonResponse); } }
private static bool CheckArtisan(ArtisanInfo info) { return(info != null && info.CharacterId != 0 && IsValidInGameName(info.CharacterName, !info.IsValid)); }