public void PropertiesTests()
        {
            var item = new NavigationGroupInfo(new NavigationGroupDTO { Id = 1, Name = "name" });

            Assert.AreEqual("name", item.Name);
            Assert.AreEqual(1, item.Id);
        }
        public void NavigationItemsPropertyTest()
        {
            var item = new NavigationGroupInfo(new NavigationGroupDTO());
            Assert.AreEqual(0, item.NavigationItems.Count);

            var navDTO = new NavigationGroupDTO();
            navDTO.NavigationItems.Add(new NavigationItemDTO { Id = 1, Name = "name", ProcessId = 2 });

            item = new NavigationGroupInfo(navDTO);
            Assert.AreEqual(1, item.NavigationItems.Count);
        }
Exemple #3
0
        public NavGroup(NavigationGroupInfo groupInfo, ProcessList procList)
        {
            if (groupInfo == null)
            {
                throw new ArgumentNullException("groupInfo");
            }

            if (procList == null)
            {
                throw new ArgumentNullException("procList");
            }

            this.Id = groupInfo.Id;
            this.Name = groupInfo.Name;
            this.SystemName = groupInfo.SystemName;
            if (groupInfo.Icon != null && groupInfo.Icon.Length > 0)
            {
                this.Icon = Convert.ToBase64String(groupInfo.Icon);
            }

            var itemsList = new List<NavItem>();
            this.Items = itemsList;
 
            foreach (var item in groupInfo.NavigationItems)
            {
                if (item.ProcessId != null)
                {
                    itemsList.Add(new NavItem(item, procList));
                }
            }
        }
        /// <summary>
        /// Initializes the specified group.
        /// </summary>
        /// <param name="group">
        /// The group.
        /// </param>
        /// <param name="favoriteList">
        /// </param>
        public void Initialize(NavigationGroupInfo @group, IFavoriteList<IFavoriteInfo> favoriteList = null)
        {
            Model = group;

            _items.Filter += ItemsFilter;

            this.NavItems = new ObservableCollection<NavItemViewModel>();

            foreach (var item in group.NavigationItems)
            {
                if (NavItems.Any(x => x.Name == item.Name))
                    continue;

                var newItem = ItemFactory[0].CreateExport().Value;
                newItem.Initialize(item, Model.Name, favoriteList);
                this.NavItems.Add(newItem);
            }

            _items.Source = this.NavItems;

            this.Width = this.CalculateWith();

            RaisePropertyChanged(() => Items);
        }