Пример #1
0
        private bool AcceptChangeCanExecute(object parameter)
        {
            ElementName elementName = new ElementName(_element.Fullname);

            elementName.AddNamePart(Name);
            return((Name.Length > 0) && (_application.GetElementByFullname(elementName.FullName) == null));
        }
Пример #2
0
        public IDsmElement AddElement(string name, string type, int?parentId)
        {
            Logger.LogDataModelMessage($"Add element name={name} type={type} parentId={parentId}");

            string fullname = name;

            if (parentId.HasValue)
            {
                if (_elementsById.ContainsKey(parentId.Value))
                {
                    ElementName elementName = new ElementName(_elementsById[parentId.Value].Fullname);
                    elementName.AddNamePart(name);
                    fullname = elementName.FullName;
                }
            }

            IDsmElement element = FindElementByFullname(fullname);

            if (element == null)
            {
                _lastElementId++;
                element = AddElement(_lastElementId, name, type, 0, false, parentId, false);
            }

            return(element);
        }
Пример #3
0
        public void GivenAnEmptyElementNameWhenAddPartIsCalledThenItsHasOneNamePart()
        {
            ElementName elementName = new ElementName();

            elementName.AddNamePart("a");
            Assert.AreEqual("a", elementName.FullName);
            Assert.AreEqual("", elementName.ParentName);
            Assert.AreEqual("a", elementName.LastNamePart);
            Assert.AreEqual(1, elementName.NamePartCount);
            Assert.AreEqual("a", elementName.NameParts[0]);
        }
Пример #4
0
        public void GivenFilledElementNameWhenAddPartIsCalledThenItsHasOneAdditionalNamePart()
        {
            ElementName elementName = new ElementName("a.b");

            elementName.AddNamePart("c");
            Assert.AreEqual("a.b.c", elementName.FullName);
            Assert.AreEqual("a.b", elementName.ParentName);
            Assert.AreEqual("c", elementName.LastNamePart);
            Assert.AreEqual(3, elementName.NamePartCount);
            Assert.AreEqual("a", elementName.NameParts[0]);
            Assert.AreEqual("b", elementName.NameParts[1]);
            Assert.AreEqual("c", elementName.NameParts[2]);
        }
Пример #5
0
        private void ImportDsiElement(IDsiElement dsiElement)
        {
            IDsmElement parent      = null;
            ElementName elementName = new ElementName();

            foreach (string name in new ElementName(dsiElement.Name).NameParts)
            {
                elementName.AddNamePart(name);

                bool   isElementLeaf = (dsiElement.Name == elementName.FullName);
                string elementType   = isElementLeaf ? dsiElement.Type : "";

                IDsmElement element = _importPolicy.ImportElement(elementName.FullName, name, elementType, parent);
                parent = element;

                if (isElementLeaf)
                {
                    _dsiToDsmMapping[dsiElement.Id] = element.Id;
                }
            }
        }