protected string SelectOrder(Orders order) { Debug.WriteLine("==> order date " + order.OrderDate); IndexSelectedOrder = OrderList.IndexOf(order) + 1; SelectedOrder = order; ShowAll = "hide"; StateHasChanged(); return("return false"); }
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)); }
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)); }
} // 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
} // 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
} // 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
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; }
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); }
/// <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(); } }
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(); }
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(); }); }