Esempio n. 1
0
        public void CopyLayoutInformationFrom(View source)
        {
            if (PaperSize == null)
            {
                PaperSize = source.PaperSize;
            }

            foreach (ElementView sourceElementView in source.Elements)
            {
                ElementView destinationElementView = FindElementView(sourceElementView);
                if (destinationElementView != null)
                {
                    destinationElementView.CopyLayoutInformationFrom(sourceElementView);
                }
            }

            foreach (RelationshipView sourceRelationshipView in source.Relationships)
            {
                RelationshipView destinationRelationshipView = FindRelationshipView(sourceRelationshipView);
                if (destinationRelationshipView != null)
                {
                    destinationRelationshipView.CopyLayoutInformationFrom(sourceRelationshipView);
                }
            }
        }
Esempio n. 2
0
        public RelationshipView Add(Element source, string description, Element destination)
        {
            if (source == null)
            {
                throw new ArgumentException("A source element must be specified.");
            }

            if (destination == null)
            {
                throw new ArgumentException("A destination element must be specified.");
            }

            CheckElementCanBeAdded(source);
            CheckElementCanBeAdded(destination);

            // check that the relationship is in the model before adding it
            Relationship relationship = source.GetEfferentRelationshipWith(destination);

            if (relationship != null)
            {
                AddElement(source, false);
                AddElement(destination, false);
                RelationshipView relationshipView = AddRelationship(relationship, description, _sequenceNumber.GetNext());
                return(relationshipView);
            }
            else
            {
                throw new ArgumentException("Relationship does not exist in model");
            }
        }
Esempio n. 3
0
        public RelationshipView Add(Element source, string description, Element destination)
        {
            if (source != null && destination != null)
            {
                CheckElement(source);
                CheckElement(destination);

                // check that the relationship is in the model before adding it
                Relationship relationship = source.GetEfferentRelationshipWith(destination);
                if (relationship != null)
                {
                    AddElement(source, false);
                    AddElement(destination, false);
                    RelationshipView relationshipView = AddRelationship(relationship, description, _sequenceNumber.GetNext());
                    return(relationshipView);
                }
                else
                {
                    throw new ArgumentException("Relationship does not exist in model");
                }
            }
            else
            {
                throw new ArgumentException("Source and destination must not be null");
            }
        }
Esempio n. 4
0
 public void Remove(Relationship relationship)
 {
     if (relationship != null)
     {
         RelationshipView relationshipView = new RelationshipView(relationship);
         _relationships.Remove(relationshipView);
     }
 }
Esempio n. 5
0
        internal RelationshipView AddRelationship(Relationship relationship, string description, string order)
        {
            RelationshipView relationshipView = Add(relationship);
            if (relationshipView != null)
            {
                relationshipView.Description = description;
                relationshipView.Order = order;
            }

            return relationshipView;
        }
Esempio n. 6
0
        internal virtual RelationshipView FindRelationshipView(RelationshipView sourceRelationshipView)
        {
            foreach (RelationshipView relationshipView in Relationships)
            {
                if (relationshipView.Relationship.Equals(sourceRelationshipView.Relationship))
                {
                    return(relationshipView);
                }
            }

            return(null);
        }
Esempio n. 7
0
        internal RelationshipView AddRelationship(Relationship relationship, string description, string order, bool response)
        {
            RelationshipView relationshipView = Add(relationship);

            if (relationshipView != null)
            {
                relationshipView.Description = description;
                relationshipView.Order       = order;
                relationshipView.Response    = response;
            }

            return(relationshipView);
        }
Esempio n. 8
0
        public virtual RelationshipView Add(Relationship relationship)
        {
            if (relationship != null)
            {
                if (IsElementInView(relationship.Source) && IsElementInView(relationship.Destination))
                {
                    RelationshipView relationshipView = new RelationshipView(relationship);
                    _relationships.Add(relationshipView);

                    return(relationshipView);
                }
            }

            return(null);
        }
Esempio n. 9
0
        internal override RelationshipView FindRelationshipView(RelationshipView sourceRelationshipView)
        {
            foreach (RelationshipView relationshipView in Relationships)
            {
                if (relationshipView.Relationship.Equals(sourceRelationshipView.Relationship))
                {
                    if ((relationshipView.Description != null && relationshipView.Description.Equals(sourceRelationshipView.Description)) &&
                        relationshipView.Order.Equals(sourceRelationshipView.Order))
                    {
                        return(relationshipView);
                    }
                }
            }

            return(null);
        }
Esempio n. 10
0
        public virtual RelationshipView Add(Relationship relationship)
        {
            if (relationship == null)
            {
                throw new ArgumentException("A relationship must be specified.");
            }

            if (IsElementInView(relationship.Source) && IsElementInView(relationship.Destination))
            {
                RelationshipView relationshipView = new RelationshipView(relationship);
                _relationships.Add(relationshipView);

                return(relationshipView);
            }

            return(null);
        }
Esempio n. 11
0
        private RelationshipView findRelationshipView(View view, RelationshipView relationshipWithoutLayoutInformation, Dictionary <Element, Element> elementMap)
        {
            if (!elementMap.ContainsKey(relationshipWithoutLayoutInformation.Relationship.Source) || !elementMap.ContainsKey(relationshipWithoutLayoutInformation.Relationship.Destination))
            {
                return(null);
            }

            Element sourceElementWithLayoutInformation      = elementMap[relationshipWithoutLayoutInformation.Relationship.Source];
            Element destinationElementWithLayoutInformation = elementMap[relationshipWithoutLayoutInformation.Relationship.Destination];

            foreach (RelationshipView rv in view.Relationships)
            {
                if (
                    rv.Relationship.Source.Equals(sourceElementWithLayoutInformation) &&
                    rv.Relationship.Destination.Equals(destinationElementWithLayoutInformation) &&
                    rv.Description.Equals(relationshipWithoutLayoutInformation.Description) &&
                    rv.Order.Equals(relationshipWithoutLayoutInformation.Order))
                {
                    return(rv);
                }
            }

            return(null);
        }
Esempio n. 12
0
 private int CompareAsString(RelationshipView x, RelationshipView y)
 {
     return(x.Order.CompareTo(y.Order));
 }
Esempio n. 13
0
 private int CompareAsNumber(RelationshipView x, RelationshipView y)
 {
     return(double.Parse(x.Order).CompareTo(double.Parse(y.Order)));
 }