private void Domain_UserChanged(object sender, DomainUserEventArgs e) { if (this.masterUserID == this.domain.Users.OwnerUserID) { return; } this.masterUserID = this.domain.Users.OwnerUserID; var items = EnumerableUtility.Friends(this, this.Childs); foreach (var item in items) { var tableState = item.table.TableState; if (this.masterUserID == this.CremaHost.UserID) { tableState |= TableState.IsOwner; } else { tableState &= ~TableState.IsOwner; } item.table.SetTableState(tableState); } Authentication.System.Sign(); this.Container.InvokeTablesStateChangedEvent(Authentication.System, items.Select(i => i.table).ToArray()); }
private async void Domain_Disjoined(object sender, DomainUserEventArgs e) { var domainUserInfo = e.DomainUserInfo; await this.Dispatcher.InvokeAsync(() => { this.userInfos.Remove(domainUserInfo.UserID); }); }
public void InvokeDomainUserChangedEvent(Authentication authentication, Domain domain, DomainUser domainUser) { var args = new DomainUserEventArgs(authentication, domain, domainUser); this.Dispatcher.InvokeAsync(() => { this.OnDomainUserChanged(args); }); }
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); }); }
public void InvokeDomainUserAddedEvent(Authentication authentication, Domain domain, DomainUser domainUser) { var args = new DomainUserEventArgs(authentication, domain, domainUser); var eventLog = EventLogBuilder.Build(authentication, this, nameof(InvokeDomainUserAddedEvent), domain, domainUser); var comment = EventMessageBuilder.EnterDomainUser(authentication, domain); this.Dispatcher.InvokeAsync(() => { this.CremaHost.Debug(eventLog); this.CremaHost.Info(comment); this.OnDomainUserAdded(args); }); }
private void Domain_UserRemoved(object sender, DomainUserEventArgs e) { var domainUserInfo = e.DomainUserInfo; this.Dispatcher.InvokeAsync(() => { foreach (var item in this.domainUsers.ToArray()) { if (item.UserID == domainUserInfo.UserID) { this.domainUsers.Remove(item); break; } } }); }
private void DomainContext_DomainUserChanged(object sender, DomainUserEventArgs e) { var userID = this.authentication.ID; var exceptionUserID = e.UserID; var signatureDate = e.SignatureDate; var domainID = e.DomainInfo.DomainID; var domainUserState = e.DomainUserState; var domainUserInfo = e.DomainUserInfo; if (this.domains.Contains(domainID) == false) { domainUserInfo.Location = DomainLocationInfo.Empty; } if (this.resettings.Contains(e.DomainInfo.DataBaseID)) { return; } this.InvokeEvent(userID, exceptionUserID, () => this.Callback.OnUserChanged(signatureDate, domainID, domainUserInfo, domainUserState)); }
private void DomainContext_DomainUserAdded(object sender, DomainUserEventArgs e) { var userID = this.authentication.ID; var exceptionUserID = e.UserID; var signatureDate = e.SignatureDate; var domainID = e.DomainInfo.DomainID; var domainUserInfo = e.DomainUserInfo; var domainUserState = e.DomainUserState; if (domainUserInfo.UserID == this.OwnerID) { this.domains.Add(domainID); } if (this.resettings.Contains(e.DomainInfo.DataBaseID)) { return; } this.InvokeEvent(userID, exceptionUserID, () => this.Callback.OnUserAdded(signatureDate, domainID, domainUserInfo, domainUserState)); }
private async void Domain_UserChanged(object sender, DomainUserEventArgs e) { var domainUserInfo = e.DomainUserInfo; var domainUserState = e.DomainUserState; await this.Dispatcher.InvokeAsync(() => { if (this.DataContext == null) { return; } if (HashUtility.Equals(this.keys, domainUserInfo.Location.Keys) == true && this.tableName == domainUserInfo.Location.TableName) { this.userInfos.Set(domainUserInfo, domainUserState); } else { this.userInfos.Remove(domainUserInfo.UserID); } }); }
protected virtual void OnUserChanged(DomainUserEventArgs e) { this.userChanged?.Invoke(this, e); }
protected virtual void OnDomainUserAdded(DomainUserEventArgs e) { this.domainUserAdded?.Invoke(this, e); }
private void Domains_DomainUserAdded(object sender, DomainUserEventArgs e) { this.Invoke(null); }