Beispiel #1
0
        /// <summary>
        /// Called on a role player changing.
        /// </summary>
        /// <param name="args">Arguments.</param>
        protected virtual void OnModelContextChanged(RolePlayerChangedEventArgs args)
        {
            ExternModelContextReferencesModelContext con = args.ElementLink as ExternModelContextReferencesModelContext;

            if (con != null)
            {
                if (args.DomainRole.Id == ExternModelContextReferencesModelContext.ExternModelContextDomainRoleId)
                {
                    if (args.OldRolePlayerId == this.ModelContext.Id)
                    {
                        DeleteModelContext(con.ModelContext);
                    }

                    if (args.NewRolePlayerId == this.ModelContext.Id)
                    {
                        AddModelContext(con.ModelContext);
                    }
                }
                else if (args.DomainRole.Id == ExternModelContextReferencesModelContext.ModelContextDomainRoleId)
                {
                    if (args.OldRolePlayer != null)
                    {
                        DeleteModelContext(args.OldRolePlayer as LibraryModelContext);
                    }

                    if (args.NewRolePlayer != null)
                    {
                        AddModelContext(args.NewRolePlayer as LibraryModelContext);
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Called whenever a relationship of type ExternModelContextReferencesModelContext is deleted and
        /// the element hosted by this model is the source.
        /// </summary>
        /// <param name="args">Arguments.</param>
        protected virtual void OnModelContextRemoved(ElementDeletedEventArgs args)
        {
            ExternModelContextReferencesModelContext con = args.ModelElement as ExternModelContextReferencesModelContext;

            if (con != null)
            {
                DeleteModelContext(con.ModelContext);
            }
        }