private void AddDescriptor(DomainUserDescriptor descriptor) { var viewModel = descriptor.Host == null?this.CreateInstance(this.authentication, descriptor, this.owner) : descriptor.Host as DomainUserListItemBase; this.compositionService?.SatisfyImportsOnce(viewModel); this.users.Add(viewModel); }
private void AddDescriptor(DomainUserDescriptor descriptor) { var viewModel = descriptor.Host == null?this.CreateInstance(this.authentication, descriptor, this.Owner) : descriptor.Host as DomainUserTreeItemBase; viewModel.Parent = this; descriptor.Host = viewModel; }
private void RemoveDescriptor(DomainUserDescriptor descriptor) { foreach (var item in this.users.ToArray()) { if (item is DomainUserListItemBase viewModel && viewModel.Descriptor == descriptor) { this.users.Remove(viewModel); } } }
private void Domain_UserAdded(object sender, DomainUserEventArgs e) { var domainUser = this.domain.Users[e.DomainUserInfo.UserID]; var viewModel = new DomainUserDescriptor(this.authentication, domainUser, this.descriptorTypes, this.owner); this.Dispatcher.InvokeAsync(() => { this.compositionService?.SatisfyImportsOnce(viewModel); this.domainUsers.Add(viewModel); }); }
protected virtual DomainUserListItemBase CreateInstance(Authentication authentication, DomainUserDescriptor descriptor, object owner) { return(new DomainUserListItemBase(authentication, descriptor, this.owner)); }