Beispiel #1
0
 public void ExpandTreeTest()
 {
     _referenceBookStorage.FillStorage();
     Assert.That(_referenceBookStorage.GetPartById(1).Name, Is.EqualTo("Root 1"));
     Assert.That(_referenceBookStorage.GetPartById(2).Name, Is.EqualTo("Root 2"));
     Assert.That(_referenceBookStorage.GetPartById(3).Name, Is.EqualTo("Part 1"));
     Assert.That(_referenceBookStorage.GetPartById(4).Name, Is.EqualTo("Part 2"));
 }
Beispiel #2
0
        /// <summary>
        /// Обработка команд.
        /// </summary>
        /// <param name="id">Идентификатор пользователя.</param>
        /// <param name="command">Команда.</param>
        private async Task ProcessMessage(int id, string command)
        {
            if (!_refDeepLevels.ContainsKey(id))
            {
                _refDeepLevels[id] = _referenceBookStorage.RootReferenceBookParts;
            }

            if (command == BackButton && _refDeepLevels[id].Identifier != 0)
            {
                _refDeepLevels[id] = _referenceBookStorage.GetPartById(_refDeepLevels[id].ParentIdentifier);
            }

            if (_refDeepLevels[id].SubParts != null && _refDeepLevels[id].SubParts.Any(part => part.Name == command))
            {
                _refDeepLevels[id] = _refDeepLevels[id].SubParts.First(part => part.Name == command);
            }

            await SendParts(id).ConfigureAwait(false);
        }