Beispiel #1
0
        /// <summary>
        /// Constuctor.
        /// </summary>
        /// <param name="viewModelStore">The store this view model belongs to.</param>
        /// <param name="serializedRelationship">SerializedRelationship.</param>
        /// <param name="referencedElement">Element that is referenced by the serialization element. Can be null.</param>
        protected SerializedRelationshipViewModel(ViewModelStore viewModelStore, SerializedRelationship serializedRelationship, DomainRelationship referencedElement, SerializationClassViewModel parent)
            : base(viewModelStore, serializedRelationship, referencedElement, parent)
        {
            if (this.SerializationElement != null)
            {
                // subscribe
                this.EventManager.GetEvent <ModelElementPropertyChangedEvent>().Subscribe(this.SerializationElement.Id, new Action <ElementPropertyChangedEventArgs>(OnSerializationRelationshipropertyChanged));

                if (this.SerializationElement.SerializedDomainRoles.Count > 0)
                {
                    sourceRoleVM = new SerializedDomainRoleViewModel(this.ViewModelStore, this.SerializationElement.SerializedDomainRoles[0], referencedElement, this);
                    this.AddChild(sourceRoleVM);
                }

                if (this.SerializationElement.SerializedDomainRoles.Count > 1)
                {
                    targetRoleVM = new SerializedDomainRoleViewModel(this.ViewModelStore, this.SerializationElement.SerializedDomainRoles[1], referencedElement, this);

                    if (targetRoleVM.SerializationElement.SerializationClass is SerializedDomainClass)
                    {
                        targetClassVM = new SerializedDomainClassViewModel(this.ViewModelStore, targetRoleVM.SerializationElement.SerializationClass as SerializedDomainClass, this);
                    }
                    else if (targetRoleVM.SerializationElement.SerializationClass is SerializedReferenceRelationship)
                    {
                        targetClassVM = new SerializedReferenceRelationshipViewModel(this.ViewModelStore, targetRoleVM.SerializationElement.SerializationClass as SerializedReferenceRelationship, this);
                    }

                    this.AddChild(targetRoleVM);
                }
            }
        }
        /// <summary>
        /// Constuctor.
        /// </summary>
        /// <param name="viewModelStore">The store this view model belongs to.</param>
        /// <param name="serializedRelationship">SerializedRelationship.</param>
        /// <param name="referencedElement">Element that is referenced by the serialization element. Can be null.</param>
        protected SerializedRelationshipViewModel(ViewModelStore viewModelStore, SerializedRelationship serializedRelationship, DomainRelationship referencedElement, SerializationClassViewModel parent)
            : base(viewModelStore, serializedRelationship, referencedElement, parent)
        {
            if (this.SerializationElement != null)
            {
                // subscribe
                this.EventManager.GetEvent<ModelElementPropertyChangedEvent>().Subscribe(this.SerializationElement.Id, new Action<ElementPropertyChangedEventArgs>(OnSerializationRelationshipropertyChanged));

                if (this.SerializationElement.SerializedDomainRoles.Count > 0)
                {
                    sourceRoleVM = new SerializedDomainRoleViewModel(this.ViewModelStore, this.SerializationElement.SerializedDomainRoles[0], referencedElement, this);
                    this.AddChild(sourceRoleVM);
                }

                if (this.SerializationElement.SerializedDomainRoles.Count > 1)
                {
                    targetRoleVM = new SerializedDomainRoleViewModel(this.ViewModelStore, this.SerializationElement.SerializedDomainRoles[1], referencedElement, this);

                    if (targetRoleVM.SerializationElement.SerializationClass is SerializedDomainClass)
                        targetClassVM = new SerializedDomainClassViewModel(this.ViewModelStore, targetRoleVM.SerializationElement.SerializationClass as SerializedDomainClass, this);
                    else if (targetRoleVM.SerializationElement.SerializationClass is SerializedReferenceRelationship)
                        targetClassVM = new SerializedReferenceRelationshipViewModel(this.ViewModelStore, targetRoleVM.SerializationElement.SerializationClass as SerializedReferenceRelationship, this);

                    this.AddChild(targetRoleVM);
                }
            }
        }