コード例 #1
0
        public void Fill(GooDealsResult deals)
        {
            FillSortIconOnColumn();

            Deals = deals;

            var items = GetItems(deals);

            list.BeginUpdate();
            try
            {
                var selectedItemId = list.SelectedItems.Count > 0
                    ? ((DealItemBase)list.SelectedItems[0]).ItemId
                    : (int?)null;

                list.Items.Clear();

                var sortedItems = SortItems(items.ToArray());

                list.Items.AddRange(sortedItems.Cast <ListViewItem>().ToArray());

                var selectedItem = items.FirstOrDefault(x => x.ItemId == selectedItemId);
                if (selectedItem != null)
                {
                    selectedItem.Selected = true;
                }
            }
            finally
            {
                list.EndUpdate();
            }
        }
コード例 #2
0
        protected override DealItemBase[] GetItems(GooDealsResult deals)
        {
            var pairs = deals.GetIncomplete()
                        .SelectMany(group => group.Pairs)
                        .ToArray();

            return(pairs.Select(pair => new IncompleteDealItem(pair)).Cast <DealItemBase>().ToArray());
        }
コード例 #3
0
 protected abstract DealItemBase[] GetItems(GooDealsResult deals);