Пример #1
0
        public async Task <UserContextMetaData> GetMetaDataAsync(Authentication authentication)
        {
            this.ValidateExpired();
            return(await this.Dispatcher.InvokeAsync(() =>
            {
                var metaData = new UserContextMetaData();

                {
                    var query = from UserCategory item in this.Categories
                                orderby item.Path
                                select new UserCategoryMetaData()
                    {
                        Path = item.Path,
                        Guid = item.Guid
                    };

                    metaData.Categories = query.ToArray();
                }

                {
                    var query = from User item in this.Users
                                orderby item.Category.Path
                                select new UserMetaData()
                    {
                        Path = item.Path,
                        UserInfo = item.UserInfo,
                        UserState = item.UserState,
                        BanInfo = item.BanInfo,
                    };
                    metaData.Users = query.ToArray();
                }

                return metaData;
            }));
        }
Пример #2
0
        public UserContextMetaData GetMetaData(Authentication authentication)
        {
            this.Dispatcher.VerifyAccess();
            var metaData = new UserContextMetaData();

            {
                var query = from UserCategory item in this.Categories
                            orderby item.Path
                            select item.Path;

                metaData.Categories = query.ToArray();
            }

            {
                var query = from User item in this.Users
                            orderby item.Category.Path
                            select new UserMetaData()
                {
                    Path      = item.Path,
                    UserInfo  = item.UserInfo,
                    UserState = item.UserState,
                    BanInfo   = item.BanInfo,
                };
                metaData.Users = query.ToArray();
            }

            metaData.AuthenticationToken = authentication.Token;
            return(metaData);
        }
Пример #3
0
        public UserContextMetaData GetMetaData()
        {
            this.Dispatcher.VerifyAccess();

            var metaData = new UserContextMetaData();

            {
                var query = from UserCategory item in this.Categories
                            orderby item.Path
                            select new UserCategoryMetaData()
                {
                    Path = item.Path,
                    Guid = item.Guid
                };

                metaData.Categories = query.ToArray();
            }

            {
                var query = from User item in this.Users
                            orderby item.Category.Path
                            select new UserMetaData()
                {
                    Path      = item.Path,
                    UserInfo  = item.UserInfo,
                    UserState = item.UserState,
                    BanInfo   = item.BanInfo,
                };
                metaData.Users = query.ToArray();
            }

            return(metaData);
        }
Пример #4
0
        private void Initialize(UserContextMetaData metaData)
        {
            foreach (var item in metaData.Categories)
            {
                if (item == this.Root.Path)
                {
                    continue;
                }
                this.Categories.Prepare(item);
            }

            foreach (var item in metaData.Users)
            {
                var itemName = new ItemName(item.Path);
                var user     = this.Users.BaseAddNew(itemName.Name, itemName.CategoryPath);
                user.Initialize(item.UserInfo, item.BanInfo);
                user.SetUserState(item.UserState);
            }
        }