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. } }
public void Handle(AddKeyMessage message) { item = new RedisKeyString(message.ParentDatabase, eventAggregator) { KeyValue = string.Empty }; SetDefault(); KeyNameTextBox = message.KeyBase; DatabaseName = item.DatabaseName; }
public void Handle(TreeItemSelectedMessage message) { if (message?.SelectedItem is RedisKey && !message.SelectedItem.HasChildren) { item = (RedisKey)message.SelectedItem; resetValue = false; DisplayItem(item); } }
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; } } }