Beispiel #1
0
        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);
            });
        }
 /// <summary>
 /// CAUTION: If you're using Read without Execute, make sure you consume enumerable before disposing
 /// </summary>
 public void Dispose()
 {
     foreach (var transform in Transformers)
     {
         transform.Dispose();
     }
     Transformers.Clear();
     Reader        = null;
     Writer        = null;
     Updater       = null;
     DeleteHandler = null;
 }