Inheritance: TreeViewItem
Beispiel #1
0
        private void ChangeDisplayType()
        {
            if (item != null)
            {
                var redisTypeViewModelMap = new Dictionary <RedisType, IValueItem>
                {
                    { RedisType.String, KeyStringViewModel },
                    { RedisType.Set, KeySetViewModel },
                    { RedisType.List, KeyListViewModel },
                    { RedisType.Hash, KeyHashViewModel },
                    { RedisType.SortedSet, KeySortedSetViewModel }
                };

                if (!Maps.RedisTypeKeyMap.ContainsKey(selectedType))
                {
                    selectedType = RedisType.String;
                }

                var olditem = item;

                item = (RedisKey)Activator.CreateInstance(Maps.RedisTypeKeyMap[selectedType], item.Parent, eventAggregator);
                if (item != null)
                {
                    item.KeyName = olditem.KeyName;
                    item.KeyType = selectedType;
                    item.TTL     = olditem.TTL;
                    item.Display = olditem.KeyName;

                    ActivateItem(redisTypeViewModelMap[selectedType]);

                    if (resetValue)
                    {
                        switch (item.KeyType)
                        {
                        case RedisType.String:
                            ResetKeyValue(string.Empty);
                            break;

                        case RedisType.Set:
                        case RedisType.List:
                            ResetKeyValue(new BindableCollection <NumberedStringWrapper>());
                            break;

                        case RedisType.Hash:
                            ResetKeyValue(new BindableCollection <HashWrapper>());
                            break;

                        case RedisType.SortedSet:
                            ResetKeyValue(new BindableCollection <ScoreWrapper>());
                            break;
                        }
                    }
                }

                resetValue = true; // If this is true, try to reset the value when displaying new type.
            }
        }
Beispiel #2
0
 public void Handle(AddKeyMessage message)
 {
     item = new RedisKeyString(message.ParentDatabase, eventAggregator)
     {
         KeyValue = string.Empty
     };
     SetDefault();
     KeyNameTextBox = message.KeyBase;
     DatabaseName   = item.DatabaseName;
 }
Beispiel #3
0
        public void Handle(TreeItemSelectedMessage message)
        {
            if (message?.SelectedItem is RedisKey && !message.SelectedItem.HasChildren)
            {
                item = (RedisKey)message.SelectedItem;

                resetValue = false;

                DisplayItem(item);
            }
        }
Beispiel #4
0
        private void DisplayItem(RedisKey displayitem)
        {
            if (displayitem != null)
            {
                DatabaseName = displayitem.DatabaseName;

                KeyNameTextBox = displayitem.KeyName;

                SelectedType = displayitem.KeyType;

                var ttl = displayitem.TTL;
                if (ttl.HasValue)
                {
                    TTLDateTimePicker = DateTime.Now + ttl.Value;
                }
                else
                {
                    TTLDateTimePicker = null;
                }
            }
        }