static IEventMap GetEvents(ISmarketsClient client) { var builder = new EventQueryBuilder(); builder.SetCategory("sport"); builder.SetSport("football"); builder.SetDateTime(DateTime.Today); var events = client.GetEvents(builder.GetResult()).Data; Log.Debug(string.Format("Got {0} events:", events.Count)); foreach (var output in events.Roots.SelectMany(x => GetEventStrings(x, null, true))) Log.Debug(output); return events; }
static void PrintOrders(ISmarketsClient client) { var map = client.GetOrders().Data; foreach (var order in map.Values) { var cqty = new CurrencyQuantity(order.State.Quantity, Currency.Gbp); Log.Debug( string.Format( "{0} => {1}@{2} ({3} buyer liability, {4} seller liability)", order.Uid, order.State.Quantity, order.Price, cqty.BuyLiability(order.Price), cqty.SellLiability(order.Price))); } }
internal static Event FromSeto(ISmarketsClient client, Proto.Seto.EventInfo info) { var newEvent = new Event(EventInfo.FromSeto(info)); client.MarketMap.MergeFromMarkets(client, info.Markets, newEvent); return newEvent; }
static void MultiPing(ISmarketsClient client, int pingers, int syncPings) { var threads = new List<Thread>(pingers); foreach (var sleeper in Enumerable.Range(1, pingers)) { var sleeper1 = sleeper; var t1 = new Thread( () => { Thread.Sleep(sleeper1 * 50); var pingSeq = client.Ping(); Log.Debug(string.Format("Sent ping {0}", pingSeq)); }) { Name = string.Format("pinger{0}", sleeper) }; t1.Start(); threads.Add(t1); } foreach (var ping in Enumerable.Range(1, syncPings)) { Log.Debug( string.Format( "[{0}] Sent ping with sequence {1}", ping, client.Ping())); } foreach (var thread in threads) { Log.Debug(string.Format("Joining {0}", thread.Name)); thread.Join(); } }
internal static Market FromSeto( ISmarketsClient client, Proto.Seto.MarketInfo info, Event parent) { var market = new Market(MarketInfo.FromSeto(info), parent); client.ContractMap.MergeFromContracts(client, info.Contracts, market); return market; }