private void SendSubs_Click(object sender, EventArgs e) { if (clbName.CheckedItems.Count == 0) { MessageBox.Show("No Subs Name checked", "Warning"); return; } if (clbType.CheckedItems.Count == 0) { MessageBox.Show("No Subs Type checked", "Warning"); return; } MarketType market; string pair; foreach (var proc in clbName.CheckedItems) { foreach (var type in clbType.CheckedItems) { var subs_type = SubsType.GetExist; switch (type.ToString()) { case "Only get": subs_type = SubsType.GetExist; break; case "Subscribe and get": subs_type = SubsType.SubsAndGetExist; break; case "Subscribe and get next": subs_type = SubsType.SubsAndGetNextChange; break; case "Unsubscribe": subs_type = SubsType.UnSubs; break; case "Unsubscribe and get": subs_type = SubsType.UnSubsAndGetExist; break; default: subs_type = SubsType.GetExist; break; } string mess = null; switch (proc.ToString()) { case "Market and Pairs": mess = Subs.Pairs(subs_type); break; case "Pairs configuration": market = GetMarket(); if (market == MarketType.Empty) { return; } mess = Subs.PairsDetail(subs_type, market); break; case "Orderbook": market = GetMarket(); if (market == MarketType.Empty) { return; } pair = GetPair(); if (pair == null) { return; } mess = Subs.Orderbook(subs_type, market, pair); break; case "Recent trades": market = GetMarket(); if (market == MarketType.Empty) { return; } pair = GetPair(); if (pair == null) { return; } mess = Subs.RecentTrades(subs_type, market, pair); break; case "Last price": market = GetMarket(); if (market == MarketType.Empty) { return; } pair = GetPair(); if (pair == null) { return; } mess = Subs.LastPrice(subs_type, market, pair); break; case "Historical price": market = GetMarket(); if (market == MarketType.Empty) { return; } pair = GetPair(); if (pair == null) { return; } if (rbDay.Checked) { mess = Subs.PriceDay(subs_type, market, pair); } else if (rbWeek.Checked) { mess = Subs.PriceWeek(subs_type, market, pair); } else if (rbMonth.Checked) { mess = Subs.PriceMonth(subs_type, market, pair); } break; default: break; } if (!string.IsNullOrWhiteSpace(mess)) { socket?.Send(mess); } } } }