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"); }
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); }; }