コード例 #1
0
ファイル: TransformersModel.cs プロジェクト: AndrewKL/ravendb
        protected void UpdateTransformersList()
        {
            DatabaseCommands.GetTransformersAsync(0, 256).ContinueOnSuccessInTheUIThread(transformers =>
            {
                Transformers.Clear();
                Transformers = new ObservableCollection <TransformerDefinition>(transformers);

                CleanGroup();
                foreach (var transformer in transformers.OrderBy(definition => definition.Name))
                {
                    var groupName = DetermineName(transformer);
                    var groupItem =
                        GroupedTransformers.FirstOrDefault(
                            @group => string.Equals(@group.GroupName, groupName, StringComparison.OrdinalIgnoreCase));
                    if (groupItem == null)
                    {
                        groupItem = new Group(groupName);
                        GroupedTransformers.Add(groupItem);
                    }

                    groupItem.Items.Add(new TransformerItem {
                        GroupName = groupName, Name = transformer.Name, Transformer = transformer
                    });
                }

                OnPropertyChanged(() => GroupedTransformers);
                OnPropertyChanged(() => Transformers);
            });
        }
コード例 #2
0
        private void CleanGroup()
        {
            if (currentDatabase != ApplicationModel.Database.Value.Name || currentSearch != SearchText.Value)
            {
                currentDatabase = ApplicationModel.Database.Value.Name;
                currentSearch   = SearchText.Value;
                GroupedTransformers.Clear();
                return;
            }

            foreach (var groupedTransformer in GroupedTransformers)
            {
                groupedTransformer.Items.Clear();
            }
        }