コード例 #1
0
ファイル: OrderBookViewModel.cs プロジェクト: mjheller/wpffix
        private static List <OrderStackRow> CreateOrderStackRows(
            string symbol,
            OrderStack stack,
            Color rowColour)
        {
            var bids    = stack.GetBids();
            var asks    = stack.GetAsks();
            var maxSize = Math.Max(bids.Count, asks.Count);
            var rows    = new List <OrderStackRow>();

            for (var i = 0; i < maxSize; ++i)
            {
                var bid = bids.ElementAtOrDefault(i);
                var ask = asks.ElementAtOrDefault(i);
                Debug.Assert(bid != null || ask != null);
                var osr = new OrderStackRow
                {
                    Symbol   = symbol,
                    RowColor = rowColour
                };
                if (bid != null)
                {
                    osr.BidClOrdID = bid.ClOrdID;
                    osr.BidStatus  = bid.Status.ToString();
                    osr.BidPrice   = bid.Price.ToString(CultureInfo.CurrentUICulture);
                    osr.BidQty     = bid.Quantity.ToString(CultureInfo.CurrentUICulture);
                }
                if (ask != null)
                {
                    osr.AskClOrdID = ask.ClOrdID;
                    osr.AskStatus  = ask.Status.ToString();
                    osr.AskPrice   = ask.Price.ToString(CultureInfo.CurrentUICulture);
                    osr.AskQty     = ask.Quantity.ToString(CultureInfo.CurrentUICulture);
                }
                rows.Add(osr);
            }
            return(rows);
        }
コード例 #2
0
 private static List<OrderStackRow> CreateOrderStackRows(
     string symbol,
     OrderStack stack,
     Color rowColour)
 {
     var bids = stack.GetBids();
     var asks = stack.GetAsks();
     var maxSize = Math.Max(bids.Count, asks.Count);
     var rows = new List<OrderStackRow>();
     for (var i = 0; i < maxSize; ++i)
     {
         var bid = bids.ElementAtOrDefault(i);
         var ask = asks.ElementAtOrDefault(i);
         Debug.Assert(bid != null || ask != null);
         var osr = new OrderStackRow
         {
             Symbol = symbol,
             RowColor = rowColour
         };
         if (bid != null)
         {
             osr.BidClOrdID = bid.ClOrdID;
             osr.BidStatus = bid.Status.ToString();
             osr.BidPrice = bid.Price.ToString(CultureInfo.CurrentUICulture);
             osr.BidQty = bid.Quantity.ToString(CultureInfo.CurrentUICulture);
         }
         if (ask != null)
         {
             osr.AskClOrdID = ask.ClOrdID;
             osr.AskStatus = ask.Status.ToString();
             osr.AskPrice = ask.Price.ToString(CultureInfo.CurrentUICulture);
             osr.AskQty = ask.Quantity.ToString(CultureInfo.CurrentUICulture);
         }
         rows.Add(osr);
     }
     return rows;
 }