private void TkPrice_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { string[] exchange = null; string type = (cbName.SelectedItem as ItemNames).Type; if (bdExchange.Visibility == Visibility.Visible && (cbOrbs.SelectedIndex > 0 || cbSplinters.SelectedIndex > 0)) { exchange = new string[2]; ParserDictItem exchange_item1 = GetExchangeItem(0, type); ParserDictItem exchange_item2 = GetExchangeItem(0, (string)(cbOrbs.SelectedIndex > 0 ? cbOrbs.SelectedValue : cbSplinters.SelectedValue)); if (exchange_item1 == null || exchange_item2 == null) { liPrice.Items.Clear(); tkPriceCount.Text = ""; tkPriceInfo.Text = "선택한 교환 아이템 코드가 잘못되었습니다."; cbPriceListTotal.Text = "0/0 검색"; return; } exchange[0] = exchange_item1.Id; exchange[1] = exchange_item2.Id; } UpdatePriceThreadWorker(exchange != null ? null : GetItemOptions(), exchange); }
private void Button_Click(object sender, RoutedEventArgs e) { string sEntity; string[] exchange = null; int langIndex = cbName.SelectedIndex; string league = mConfig.Options.League; string type = (cbName.SelectedItem as ItemNames).Type; if (bdExchange.Visibility == Visibility.Visible && (cbOrbs.SelectedIndex > 0 || cbSplinters.SelectedIndex > 0)) { exchange = new string[2]; ParserDictItem exchange_item1 = GetExchangeItem(0, type); ParserDictItem exchange_item2 = GetExchangeItem(0, (string)(cbOrbs.SelectedIndex > 0 ? cbOrbs.SelectedValue : cbSplinters.SelectedValue)); if (exchange_item1 == null || exchange_item2 == null) { ForegroundMessage("선택한 교환 아이템 코드가 잘못되었습니다.", "에러", MessageBoxButton.OK, MessageBoxImage.Error); return; } exchange[0] = exchange_item1.Id; exchange[1] = exchange_item2.Id; Process.Start( RS.ExchangeUrl[langIndex] + league + "/?q=" + Uri.EscapeDataString( "{\"exchange\":{\"status\":{\"option\":\"online\"},\"have\":[\"" + exchange[0] + "\"],\"want\":[\"" + exchange[1] + "\"]}}" ) ); } else { sEntity = CreateJson(GetItemOptions(), false); if (sEntity == null || sEntity == "") { ForegroundMessage("Json 생성을 실패했습니다.", "에러", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (mConfig.Options.ServerRedirect) { Process.Start(RS.TradeApi[langIndex] + league + "/?redirect&source=" + Uri.EscapeDataString(sEntity)); } else { string request_result = null; // 마우스 훜시 프로그램에 딜레이가 생겨 쓰레드 처리 Thread thread = new Thread(() => { request_result = SendHTTP(sEntity, RS.TradeApi[langIndex] + league, mConfig.Options.ServerTimeout); if ((request_result ?? "") != "") { try { ResultData resultData = Json.Deserialize <ResultData>(request_result); Process.Start(RS.TradeUrl[langIndex] + league + "/" + resultData.ID); } catch { } } }); thread.Start(); thread.Join(); if ((request_result ?? "") == "") { ForegroundMessage( "현재 거래소 접속이 원활하지 않을 수 있습니다." + '\n' + "한/영 서버의 거래소 접속을 확인 하신후 다시 시도하세요.", "검색 실패", MessageBoxButton.OK, MessageBoxImage.Information ); return; } } } Close(); }