private void Button_Click(object sender, RoutedEventArgs e) { string sEntity; string[] exchange = null; if (bdExchange.Visibility == Visibility.Visible && (cbOrbs.SelectedIndex > 0 || cbSplinters.SelectedIndex > 0)) { exchange = new string[2]; ParserDictionary exchange_item1 = GetExchangeItem(0, mItemBaseName.TypeKR); ParserDictionary 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.ExchangeApi[RS.ServerLang] + RS.ServerType + "/?redirect&source=" + 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 (mConfigData.Options.ServerRedirect) { Process.Start(RS.TradeApi[RS.ServerLang] + RS.ServerType + "/?redirect&source=" + Uri.EscapeDataString(sEntity)); } else { string request_result = null; // 마우스 훜시 프로그램에 딜레이가 생겨 쓰레드 처리 Thread thread = new Thread(() => { request_result = SendHTTP(sEntity, RS.TradeApi[RS.ServerLang] + RS.ServerType, mConfigData.Options.ServerTimeout); if ((request_result ?? "") != "") { try { ResultData resultData = Json.Deserialize <ResultData>(request_result); Process.Start(RS.TradeUrl[RS.ServerLang] + RS.ServerType + "/" + resultData.ID); } catch { } } }); thread.Start(); thread.Join(); if ((request_result ?? "") == "") { ForegroundMessage( "현재 거래소 접속이 원활하지 않을 수 있습니다." + '\n' + "한/영 서버의 거래소 접속을 확인 하신후 다시 시도하세요.", "검색 실패", MessageBoxButton.OK, MessageBoxImage.Information ); return; } } } Close(); }
private void Button_Click(object sender, RoutedEventArgs e) { string sEntity; string url = ""; string[] exchange = null; if (bdExchange.Visibility == Visibility.Visible && (cbOrbs.SelectedIndex > 0 || cbSplinters.SelectedIndex > 0)) { exchange = new string[2]; exchange[0] = ResStr.lExchangeCurrency[mItemBaseName.TypeKR]; exchange[1] = ResStr.lExchangeCurrency[(string)(cbOrbs.SelectedIndex > 0 ? cbOrbs.SelectedValue : cbSplinters.SelectedValue)]; url = ResStr.ExchangeApi[ResStr.ServerLang] + ResStr.ServerType + "/?redirect&source="; url += Uri.EscapeDataString("{\"exchange\":{\"status\":{\"option\":\"online\"},\"have\":[\"" + exchange[0] + "\"],\"want\":[\"" + exchange[1] + "\"]}}"); Process.Start(url); } else { sEntity = CreateJson(GetItemOptions(), false); if (sEntity == null || sEntity == "") { MessageBox.Show(Application.Current.MainWindow, "Json 생성을 실패했습니다.", "에러"); NativeMethods.SetForegroundWindow(NativeMethods.FindWindow(ResStr.PoeClass, ResStr.PoeCaption)); return; } if (mConfigData.Options.ServerRedirect) { url = ResStr.TradeApi[ResStr.ServerLang] + ResStr.ServerType + "/?redirect&source="; url += Uri.EscapeDataString(sEntity); Process.Start(url); } else { string sResult = null; // 마우스 훜시 프로그램에 딜레이가 생겨 쓰레드 처리 Thread thread = new Thread(() => { sResult = SendHTTP(sEntity, ResStr.TradeApi[ResStr.ServerLang] + ResStr.ServerType); if ((sResult ?? "") != "") { try { ResultData resultData = Json.Deserialize <ResultData>(sResult); url = ResStr.TradeUrl[ResStr.ServerLang] + ResStr.ServerType + "/" + resultData.ID; Process.Start(url); } catch { } } }); thread.Start(); thread.Join(); if ((sResult ?? "") == "") { MessageBox.Show(Application.Current.MainWindow, "현재 거래소 접속이 원활하지 않을 수 있습니다." + '\n' + "한/영 서버를 바꾸거나 거래소 접속을 확인 하신후 다시 시도하세요.", "검색 실패" ); NativeMethods.SetForegroundWindow(NativeMethods.FindWindow(ResStr.PoeClass, ResStr.PoeCaption)); return; } } } Hide(); }
private void Button_Click(object sender, RoutedEventArgs e) { string sEntity; string url = ""; string[] exchange = null; string accountState = (string)cbAccountState.SelectedValue; if (bdExchange.Visibility == Visibility.Visible && (cbOrbs.SelectedIndex > 0 || cbSplinters.SelectedIndex > 0)) { exchange = new string[2]; exchange[0] = Restr.lExchangeCurrency[mItemBaseName.TypeEN]; exchange[1] = Restr.lExchangeCurrency[(string)(cbOrbs.SelectedIndex > 0 ? cbOrbs.SelectedValue : cbSplinters.SelectedValue)]; int minimumStock = int.Parse(tbPriceMinStock.Text); url = Restr.ExchangeApi[Restr.ServerLang] + Restr.ServerType + "/?redirect&source="; url += Uri.EscapeDataString("{\"exchange\":{\"status\":{\"option\":\"" + accountState + "\"},\"have\":[\"" + exchange[0] + "\"],\"want\":[\"" + exchange[1] + "\"],\"minimum\":" + minimumStock + "}}"); Process.Start(url); } else { sEntity = CreateJson(GetItemOptions(), false, accountState); if (sEntity == null || sEntity == "") { ForegroundMessage("Json 생성을 실패했습니다.", "에러", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (mConfigData.Options.ServerRedirect) { url = Restr.TradeApi[Restr.ServerLang] + Restr.ServerType + "/?redirect&source="; url += Uri.EscapeDataString(sEntity); Process.Start(url); } else { string sResult = null; // 마우스 훜시 프로그램에 딜레이가 생겨 쓰레드 처리 Thread thread = new Thread(() => { sResult = SendHTTP(sEntity, Restr.TradeApi[Restr.ServerLang] + Restr.ServerType, mConfigData.Options.ServerTimeout); if ((sResult ?? "") != "") { try { ResultData resultData = Json.Deserialize <ResultData>(sResult); url = Restr.TradeUrl[Restr.ServerLang] + Restr.ServerType + "/" + resultData.ID; Process.Start(url); } catch { } } }); thread.Start(); thread.Join(); if ((sResult ?? "") == "") { ForegroundMessage( "Server cannot be connected right now.", "Search failed", MessageBoxButton.OK, MessageBoxImage.Information ); return; } } } Hide(); }