示例#1
0
        public void AddNewAndSetItems <T>(List <T> items, IItemCollection <T> dbCollection, SelectableDbItemList selectList) where T : DatabaseObject
        {
            foreach (var item in items)
            {
                if (dbCollection[item.Id] == null)
                {
                    selectList.Add(item);
                }
            }

            selectList.SetSelection(items.Select(a => a.Id));
        }
示例#2
0
        public void EventsTest()
        {
            var items = new List <DatabaseObject>()
            {
                new DatabaseObject()
                {
                    Name = "Test1"
                },
                new DatabaseObject()
                {
                    Name = "Test2"
                },
                new DatabaseObject()
                {
                    Name = "Test3"
                }
            };

            var properies  = 0;
            var selections = 0;
            var dbList     = new SelectableDbItemList(items);

            dbList.SelectionChanged += (s, e) =>
            {
                properies++;
            };

            dbList.PropertyChanged += (s, e) =>
            {
                selections++;
            };

            dbList.SetSelection(new List <Guid> {
                items[0].Id, items[1].Id
            });
            Assert.AreEqual(1, properies);
            Assert.AreEqual(1, selections);

            dbList.First().Selected = false;
            Assert.AreEqual(2, properies);
            Assert.AreEqual(2, selections);
        }