private void TkPrice_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { 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) { 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); }
public void DefaultMethodShouldRaiseExceptionWhenKeyNotExists() { var sut = new ParserDictionary <INodeParser>(); var ex = Assert.Throws <KeyNotFoundException>(() => sut["chaveinexistente"]); ex.Message.Should().Be("Chave não encontrada: chaveinexistente"); }
public void DictionaryShouldBeCaseInsensitive(string lookFor) { var parser = Helper.FakeParser <INodeParser>("alpha"); var sut = new ParserDictionary <INodeParser>(); sut.Add(parser); sut[lookFor].Should().BeSameAs(parser); var result = sut.TryGet(lookFor, out var value); result.Should().BeTrue(); value.Should().BeSameAs(parser); }
public NodeAggregation(params INodeParser[] nodeParsers) { if (nodeParsers is null) { throw new ArgumentNullException(nameof(nodeParsers)); } var parsers = new ParserDictionary <INodeParser>(); foreach (var nodeParser in nodeParsers) { parsers.Add(nodeParser); } ChildParsers = parsers; }
public void NameRegex() { var parser1 = A.Dummy <IParser>(); A.CallTo(() => parser1.Name).Returns(string.Empty); A.CallTo(() => parser1.NameRegex).Returns(@"^[a-z]$"); var parser2 = Helper.FakeParser <IParser>("abc"); var sut = new ParserDictionary <IParser>(); sut.Add(parser1); sut.Add(parser2); sut["a"].Should().Be(parser1); sut["b"].Should().Be(parser1); sut["c"].Should().Be(parser1); sut["z"].Should().Be(parser1); sut["abc"].Should().Be(parser2); }
public ParserWriter(ParserDictionary writers) : base(writers) { }
public static void Add(this ParserDictionary <IAttributeParser> dic, IAttributeParser parser) => dic.Add(parser.ElementName, parser);
public TextParserWriter(ParserDictionary writers = null) : base(writers) { Indent = " "; }
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(); }