public async Task Populate(CarbonClient cc_, OrderOverrides orderOv_) { if (m_source == null) return; var dict = new Dictionary<string, LiveExposurePnlMulti>(); foreach (var item in m_source.InnerList) { var subItem = item.PnlName.Contains("#") ? item.PnlName.Split('#')[0] : item.PnlName; if (!dict.ContainsKey(subItem)) { var newItem = new LiveExposurePnlMulti(subItem) {DisplaySortNumber = await AssetOrder.GetOrder(subItem, cc_)}; if (orderOv_ != null && orderOv_.HasOverrides) { newItem.DisplaySortNumber = orderOv_.GetSortOrder(Helper.StripBbgEndings(item.PnlName)); } dict.Add(subItem, newItem); } dict[subItem].Add(item); } var items = new List<LiveExposurePnlMulti>(dict.Values); m_items.AddRange(items.OrderBy(x => x.DisplaySortNumber)); for (int i = 0; i < m_items.Count; ++i) m_items[i].Index = i; }
internal void Create(OrderOverrides oo_) { if (m_overrides != null) return; m_overrides = oo_; Create(); }