コード例 #1
0
 protected string SelectOrder(Orders order)
 {
     Debug.WriteLine("==> order date " + order.OrderDate);
     IndexSelectedOrder = OrderList.IndexOf(order) + 1;
     SelectedOrder      = order;
     ShowAll            = "hide";
     StateHasChanged();
     return("return false");
 }
コード例 #2
0
            public void AsksAreCorrectlySorted()
            {
                OrderList <Order> orderList = new OrderList <Order>(new AskComparer());
                long  time      = DateTimeOffset.Now.ToUnixTimeSeconds();
                Order highAsk   = new Order(0, 0, 3.45, OrderSide.SELL, 10m, time);
                Order middleAsk = new Order(0, 0, 3.40, OrderSide.SELL, 10m, time);
                Order lowAsk    = new Order(0, 0, 3.35, OrderSide.SELL, 10m, time);
                Order lateAsk   = new Order(0, 0, 3.35, OrderSide.SELL, 10m, time - 1);

                orderList.SortedInsert(lowAsk);
                orderList.SortedInsert(highAsk);
                orderList.SortedInsert(middleAsk);

                Assert.That(orderList.IndexOf(lowAsk), Is.EqualTo(0));
                Assert.That(orderList.IndexOf(middleAsk), Is.EqualTo(1));
                Assert.That(orderList.IndexOf(highAsk), Is.EqualTo(2));

                orderList.SortedInsert(lateAsk);

                Assert.That(orderList.IndexOf(lateAsk), Is.EqualTo(0));
            }
コード例 #3
0
            public void BidsAreCorrectlySorted()
            {
                OrderList <Order> orderList = new OrderList <Order>(new BidComparer());
                long  time      = DateTimeOffset.Now.ToUnixTimeSeconds();
                Order highBid   = new Order(0, 0, 3.45, OrderSide.BUY, 10m, time);
                Order middleBid = new Order(0, 0, 3.40, OrderSide.BUY, 10m, time);
                Order lowBid    = new Order(0, 0, 3.35, OrderSide.BUY, 10m, time);
                Order earlyBid  = new Order(0, 0, 3.35, OrderSide.BUY, 10m, time - 1);

                orderList.SortedInsert(lowBid);
                orderList.SortedInsert(highBid);
                orderList.SortedInsert(middleBid);

                Assert.That(orderList.IndexOf(highBid), Is.EqualTo(0));
                Assert.That(orderList.IndexOf(middleBid), Is.EqualTo(1));
                Assert.That(orderList.IndexOf(lowBid), Is.EqualTo(2));

                orderList.SortedInsert(earlyBid);

                Assert.That(orderList.IndexOf(earlyBid), Is.EqualTo(2));
            }
コード例 #4
0
        } // TabNextControl

        private static void TabPrevControl(Control control)
        {
            int start = OrderList.IndexOf(control);
            int i = start;

            do
            {
                if (i > 0) i -= 1;
                else i = OrderList.Count - 1;
            }
            while ((OrderList[i].Root != control.Root || !OrderList[i].CanFocus || OrderList[i].IsRoot || !OrderList[i].Enabled) && i != start);
            OrderList[i].Focused = true;
        } // TabPrevControl
コード例 #5
0
        } // CheckState

        /// <summary>
        /// True is the control is on this position and the other controls on this position are parents of this control.
        /// </summary>
        private static bool CheckOrder(Control control, Point pos)
        {
            if (!CheckPosition(control, pos)) 
                return false;

            for (int i = OrderList.Count - 1; i > OrderList.IndexOf(control); i--)
            {
                Control c = OrderList[i];

                if (!c.Passive && CheckPosition(c, pos) && CheckParent(c, pos))
                {
                    return false;
                }
            }

            return true;
        } // CheckOrder
コード例 #6
0
        } // KeyPressProcess

        #endregion

        #region Is Over Controls

        /// <summary>
        /// True is the control is on this position and the other controls on this position are parents of this control.
        /// I.e. if it is the control visible in this position.
        /// </summary>
        public static bool IsOverThisControl(Control control, Point pos)
        {
            if (!control.Visible)
                return false;
            if (!CheckPosition(control, pos))
                return false;
            for (int i = OrderList.Count - 1; i > OrderList.IndexOf(control); i--)
            {
                Control c = OrderList[i];
                
                if (!c.Passive && CheckPosition(c, pos) && CheckParent(c, pos))
                {
                    return false;
                }
            }
            return true;
        } // IsOverThisControl
コード例 #7
0
ファイル: UiManager.cs プロジェクト: zeronutty/Mono-Game-UI
        private void TabPrevEntity(Entity entity)
        {
            int start = OrderList.IndexOf(entity);
            int i     = start;

            do
            {
                if (i > 0)
                {
                    i -= 1;
                }
                else
                {
                    i = OrderList.Count - 1;
                }
            }while ((OrderList[i].Root != entity.Root || !OrderList[i].CanFocus || OrderList[i].IsRoot) && i != start);
            OrderList[i].IsFocused = true;
        }
コード例 #8
0
ファイル: UiManager.cs プロジェクト: zeronutty/Mono-Game-UI
        private bool CheckOrder(Entity entity, Point pos)
        {
            if (!CheckPosition(entity, pos))
            {
                return(false);
            }

            for (int i = OrderList.Count - 1; i > OrderList.IndexOf(entity); i--)
            {
                Entity en = OrderList[i];

                if (CheckPosition(en, pos) && CheckParent(en, pos))
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #9
0
        /// <summary>
        /// 在原始的医嘱对象列表发生改变后调用此事件,以同步医嘱视图列表
        /// </summary>
        /// <param name="e"></param>
        /// <param name="actualIndex"></param>
        internal void AfterListChanged(ListChangedEventArgs e)
        {
            //// 重新生成满足当前设置的医嘱对象列表
            //ResetInnerList();
            // --e中的Index是基于InnerList的,所以在处理原始列表时要进行转换处理
            //int actualIndex;
            // 同步医嘱视图列表
            switch (e.ListChangedType)
            {
            case ListChangedType.ItemAdded:
                OrderList[e.NewIndex].Added(); // 需要手工设置新加入医嘱对象的状态
                _maxSerialNo++;
                OrderViewList.Insert(e.NewIndex, new OrderView(OrderList[e.NewIndex]));
                break;

            case ListChangedType.ItemChanged:
                // 更新原位置对应的医嘱视图内容
                OrderViewList[e.NewIndex].ResetProperties();
                break;

            case ListChangedType.ItemDeleted:
                for (int index = OrderViewList.Count - 1; index >= 0; index--)
                {
                    // 视图对应的医嘱在医嘱列表中不存在,则删除
                    if (OrderList.IndexOf(OrderViewList[index].OrderCache) < 0)
                    {
                        OrderViewList.RemoveAt(index);
                    }
                }
                break;

            case ListChangedType.ItemMoved:
            case ListChangedType.Reset:
                ResetViewList();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #10
0
ファイル: LoanOrder.cs プロジェクト: NguyenVuNhan/ProP2018
        public void Deduct(int itemid, ref double balanceleft)
        {
            int    index = -1;
            double price = 0;

            if (OrderList.Count() != 0)
            {
                foreach (LoanItem p in OrderList)
                {
                    if (p.ID == itemid)
                    {
                        price = p.Price;

                        if (p.Quantity > 1)
                        {
                            p.UpdateQuantity(-1);
                            p.LeftInStock = p.LeftInStock + 1;
                            balanceleft   = balanceleft + p.Price;
                        }

                        else
                        {
                            index = OrderList.IndexOf(p);
                        }
                    }
                }

                if (index != -1)
                {
                    OrderList[index].LeftInStock = OrderList[index].LeftInStock + 1;
                    OrderList.RemoveAt(index);
                    balanceleft = balanceleft + price;
                }
            }

            CalculateTotal();
        }
コード例 #11
0
ファイル: MainWindowExt.cs プロジェクト: ajguerra101/Bitfresh
        private void UpdateGUI(StatusClass _ErrorStatus)
        {
            List <string> tempIDs  = new List <string>();
            List <Order>  tempData = new List <Order>();

            bool fonlyOnce = true;

            while (!Manager.fStop)
            {
                if (Manager.Bridge.fFailedConection)
                {
                    Manager.fStop = true;

                    refcontrol.BeginInvoke((MethodInvoker) delegate()
                    {
                        ShowConnectionError();
                    });
                }

                if (!Manager.Bridge.fConnected)
                {
                    System.Threading.Thread.Sleep(500);
                    continue;
                }

                if (fonlyOnce)
                {
                    if (Manager.bkp.ordersToRestore())
                    {
                        refcontrol.BeginInvoke((MethodInvoker) delegate()
                        {
                            AskForBackup();
                        });
                    }
                    else
                    {
                        Manager.startTasks();
                    }
                    fonlyOnce = false;
                }

                tempData = OrderList.Where(el => !(Manager.Bridge.OnHoldOrders.Exists(x => x.OrderUuid == el.ID) || Manager.Bridge.ActiveOrders.Exists(x => x.OrderUuid == el.ID))).ToList();

                if (tempData.Any())
                {
                    foreach (Order it in tempData)
                    {
                        refcontrol.BeginInvoke((MethodInvoker) delegate()
                        {
                            OrderList.Remove(it);
                        });
                    }
                }

                tempData = OrderList.Where(el => Manager.Bridge.OnHoldOrders.Exists(x => x.OrderUuid == el.ID) || Manager.Bridge.ActiveOrders.Exists(x => x.OrderUuid == el.ID)).ToList();

                if (tempData.Any())
                {
                    foreach (Order it in tempData)
                    {
                        int index = OrderList.IndexOf(it);
                        OrderList[index].STATUS   = ErrorStatus.getStatusByOrder(it.ID);
                        OrderList[index].TIMELEFT = (DateTime.UtcNow - it.CREATED).ToString(@"dd\.hh\:mm\:ss");
                    }
                }

                foreach (Order it in OrderList)
                {
                    tempIDs.Add(it.ID);
                }

                foreach (BittrexSharp.Domain.OpenOrder it in Manager.Bridge.OnHoldOrders)
                {
                    if (tempIDs.Contains(it.OrderUuid))
                    {
                        continue;
                    }
                    refcontrol.BeginInvoke((MethodInvoker) delegate()
                    {
                        OrderList.Add(new Order(it.OrderUuid, it.Exchange, it.QuantityRemaining, it.OrderType, ErrorStatus.getStatusByOrder(it.OrderUuid), it.Opened, (DateTime.UtcNow - it.Opened).ToString(@"dd\.hh\:mm\:ss")));
                    });
                }

                foreach (BittrexSharp.Domain.OpenOrder it in Manager.Bridge.ActiveOrders)
                {
                    if (tempIDs.Contains(it.OrderUuid))
                    {
                        continue;
                    }

                    refcontrol.BeginInvoke((MethodInvoker) delegate()
                    {
                        if (!Manager.Bridge.OnHoldOrders.Exists(x => x.OrderUuid == it.OrderUuid))
                        {
                            OrderList.Add(new Order(it.OrderUuid, it.Exchange, it.QuantityRemaining, it.OrderType, ErrorStatus.getStatusByOrder(it.OrderUuid), it.Opened, (DateTime.UtcNow - it.Opened).ToString(@"dd\.hh\:mm\:ss")));
                        }
                    });
                }

                tempIDs.Clear();
                System.Threading.Thread.Sleep(Constants.second);
            }

            refcontrol.BeginInvoke((MethodInvoker) delegate()
            {
                OrderList.Clear();
            });
        }