/// <summary> /// Order the market thraeds by event date /// </summary> public void OrderMarketData(MarketViewSortOrder sort) { if (panelLoadingNewMarketItem.Visible) { panelLoadingNewMarketItem.Visible = false; } switch (sortOrder) { case MarketViewSortOrder.DATE_FIRST_TO_LAST: MarketViewStateItemList.Sort(new MarketViewItemDateComparer()); break; case MarketViewSortOrder.DATE_LAST_TO_FIRST: MarketViewStateItemList.Sort(new MarketViewItemDateComparerReverse()); break; case MarketViewSortOrder.MARKET_NAME_A_TO_Z: MarketViewStateItemList.Sort(new MarketViewItemNameComparer()); break; case MarketViewSortOrder.MARKET_NAME_Z_TO_A: MarketViewStateItemList.Sort(new MarketViewItemNameComparerReverse()); break; } sortOrder = sort; ShowPageItems(); }
/// <summary> /// Adds the market. /// </summary> /// <param name="threadProcessorId">The thread processor id.</param> /// <param name="market">The market.</param> public void AddMarket(string threadProcessorId, Market market) { if (threadProcessorId == null || market == null || threadProcessorId == "" || MarketViewStateItemListContains(threadProcessorId)) { return; } /*** Make the new item indicator visible so that user know the ordering might have changed ***/ panelLoadingNewMarketItem.Visible = true; /*** Create the MarketViewItem instance and add it to the list ***/ var item = new MarketViewStateItem { Name = market.partialFullName, EventDate = market.eventDate, ThreadProcessorId = threadProcessorId, ControlOrdering = -1, IsMaximized = false }; //var item = new MarketViewStateItem {ThreadProcessorId = id, order = (-1), market = market}; MarketViewStateItemList.Add(item); /*** A new item has been added so we need to amend the page count and refresh the display ***/ UpdatePageCount(); ShowPageItems(); }
/// <summary> /// Clear all controls /// </summary> public void ClearMarkets() { SuspendLayout(); MarketViewStateItemList.Clear(); UpdatePageCount(); ShowPageItems(); ResumeLayout(true); }
/// <summary> /// Remove a MarketViewItem form the MarketView control /// </summary> /// <param name="threadProcessorId">The thread processor id.</param> /// <returns></returns> public bool RemoveMarket(string threadProcessorId) { if (String.IsNullOrEmpty(threadProcessorId)) { return(false); } var index = MarketViewStateItemListGetIndex(threadProcessorId); if (index < 0) { return(false); } MarketViewStateItemList.RemoveAt(index); UpdatePageCount(); ShowPageItems(); return(true); }