Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        private async void Domain_Disjoined(object sender, DomainUserEventArgs e)
        {
            var domainUserInfo = e.DomainUserInfo;

            await this.Dispatcher.InvokeAsync(() =>
            {
                this.userInfos.Remove(domainUserInfo.UserID);
            });
        }
Esempio n. 3
0
        public void InvokeDomainUserChangedEvent(Authentication authentication, Domain domain, DomainUser domainUser)
        {
            var args = new DomainUserEventArgs(authentication, domain, domainUser);

            this.Dispatcher.InvokeAsync(() =>
            {
                this.OnDomainUserChanged(args);
            });
        }
Esempio n. 4
0
        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);
            });
        }
Esempio n. 5
0
        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);
            });
        }
Esempio n. 6
0
        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;
                    }
                }
            });
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        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);
                }
            });
        }
Esempio n. 10
0
 protected virtual void OnUserChanged(DomainUserEventArgs e)
 {
     this.userChanged?.Invoke(this, e);
 }
Esempio n. 11
0
 protected virtual void OnDomainUserAdded(DomainUserEventArgs e)
 {
     this.domainUserAdded?.Invoke(this, e);
 }
 private void Domains_DomainUserAdded(object sender, DomainUserEventArgs e)
 {
     this.Invoke(null);
 }