Пример #1
0
 /// <summary>
 /// Rule helper method
 /// </summary>
 private static void ProcessPreferredIdentifier(EntityTypeHasPreferredIdentifier link, UniquenessConstraint preferredIdentifier)
 {
     if (preferredIdentifier == null)
     {
         preferredIdentifier = link.PreferredIdentifier;
     }
     if (!preferredIdentifier.IsDeleted)
     {
         if (preferredIdentifier.IsInternal)
         {
             LinkedElementCollection <FactType> factTypes = preferredIdentifier.FactTypeCollection;
             if (factTypes.Count == 1)
             {
                 FactType        factType = factTypes[0];
                 Objectification objectification;
                 InvalidateAssociatedDisplay(factType);
                 if (null != (objectification = factType.Objectification))
                 {
                     foreach (FactType linkFactType in objectification.ImpliedFactTypeCollection)
                     {
                         InvalidateAssociatedDisplay(linkFactType);
                     }
                 }
             }
         }
         else
         {
             InvalidateAssociatedDisplay(preferredIdentifier);
         }
     }
 }
Пример #2
0
            /// <summary>
            /// RolePlayerChangeRule: typeof(ORMSolutions.ORMArchitect.Core.ObjectModel.EntityTypeHasPreferredIdentifier)
            /// Changing the preferred identifier for an <see cref="ObjectType"/> is considered to
            /// be a significant change until we support full incremental tracking.
            /// </summary>
            private static void PreferredIdentifierRolePlayerChangedRule(RolePlayerChangedEventArgs e)
            {
                // UNDONE: Incremental changes, propagate changes to Uniqueness.IsPreferred property
                EntityTypeHasPreferredIdentifier link = (EntityTypeHasPreferredIdentifier)e.ElementLink;

                if (e.DomainRole.Id == EntityTypeHasPreferredIdentifier.PreferredIdentifierForDomainRoleId)
                {
                    SignificantObjectTypeChange((ObjectType)e.OldRolePlayer);
                }
                SignificantObjectTypeChange(link.PreferredIdentifierFor);
            }