Example #1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            Guid id = Guid.Parse(value.ToString());

            RDCGroup group = _groups.FirstOrDefault(x => x.Id == id);

            return(group?.Name ?? "None");
        }
Example #2
0
        protected override void OnActivate()
        {
            if (SelectedRDC != null)
            {
                UserAccounts = new ObservableCollection <UserAccount>(_userAccountManager.GetUserAccounts());
                UserAccounts.Insert(0, new UserAccount()
                {
                    Name = "Manual Entry", Id = Guid.Empty
                });

                RDCGroups = new ObservableCollection <RDCGroup>(_rdcGroupManager.GetGroups());
                RDCGroups.Insert(0, new RDCGroup()
                {
                    Name = "None", Id = Guid.Empty
                });

                UserAccount userAccount = UserAccounts.FirstOrDefault(x => x.Id == SelectedRDC.UserAccountId);
                RDCGroup    rdcGroup    = RDCGroups.FirstOrDefault(x => x.Id == SelectedRDC.GroupId);

                if (userAccount != null)
                {
                    SelectedUserAccount = userAccount;
                }
                else
                {
                    SelectedRDC.UserAccountId = Guid.Empty;

                    SelectedUserAccount = UserAccounts.First();
                }

                if (rdcGroup != null)
                {
                    SelectedRDCGroup = rdcGroup;
                }
                else
                {
                    SelectedRDC.GroupId = Guid.Empty;

                    SelectedRDCGroup = RDCGroups.First();
                }
            }
        }
        protected override void OnActivate()
        {
            RDCGroups = new ObservableCollection <RDCGroup>(_rdcGroupManager.GetGroups());
            RDCGroups.Insert(0, new RDCGroup()
            {
                Name = "All", Id = Guid.NewGuid()
            });
            RDCGroups.Insert(1, new RDCGroup()
            {
                Name = "None", Id = Guid.Empty
            });

            var rdcs = _rdcInstanceManager.GetRDCs()
                       .OrderBy(x => _rdcGroups.FirstOrDefault(y => y.Id == x.GroupId)?.Name ?? "None");

            RDCs = new ObservableCollection <RDC>(rdcs);

            SelectedRDCGroup = RDCGroups.First();

            _groupView = CollectionViewSource.GetDefaultView(_rdcs);
            _groupView.GroupDescriptions.Add(new PropertyGroupDescription("GroupId", new GroupIdToNameConverter(_rdcGroups)));
            _groupView.Filter += (item) =>
            {
                RDC rdc = item as RDC;

                if (!_rdcGroups.Any(x => x.Id == rdc.GroupId))
                {
                    rdc.GroupId = Guid.Empty;
                }

                if ((rdc.GroupId == Guid.Empty && SelectedRDCGroup.Name == "None") ||
                    SelectedRDCGroup.Name == "All" ||
                    rdc.GroupId == SelectedRDCGroup.Id)
                {
                    return(true);
                }

                return(false);
            };
        }