Exemple #1
0
        public bool IsValidBackLink(AcmaSchemaObjectClass backLinkObjectClass)
        {
            if (this.Type != ExtendedAttributeType.Reference)
            {
                return(false);
            }

            if (this.Operation == AcmaAttributeOperation.AcmaInternalTemp)
            {
                return(false);
            }

            if (this.IsBuiltIn)
            {
                return(false);
            }

            if (this.IsInheritedInClass(backLinkObjectClass))
            {
                return(false);
            }

            if (!backLinkObjectClass.Attributes.Any(t => t == this))
            {
                return(false);
            }

            if (backLinkObjectClass.BackLinks.Any(t => t.BackLinkAttribute == this))
            {
                return(false);
            }

            return(true);
        }
Exemple #2
0
 public bool IsReadOnlyInClass(AcmaSchemaObjectClass objectClass)
 {
     return(this.Mappings.Any(t => t.ObjectClass == objectClass && t.InheritanceSourceAttribute != null) ||
            this.ShadowObjectReferenceLinks.Any(t => t.ParentObjectClass == objectClass) ||
            this.BackLinks.Any(t => t.BackLinkObjectClass == objectClass) ||
            this.Name == "objectId" ||
            this.Name == "objectClass" ||
            this.Name == "shadowParent" ||
            this.Name == "shadowLink");
 }
Exemple #3
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj is AcmaSchemaObjectClass)
            {
                AcmaSchemaObjectClass other = (AcmaSchemaObjectClass)obj;

                if (this.ID == other.ID)
                {
                    return(true);
                }
            }

            return(base.Equals(obj));
        }
Exemple #4
0
        public bool IsConstructable(AcmaSchemaObjectClass objectClass)
        {
            if (!objectClass.Attributes.Contains(this))
            {
                return(false);
            }

            if (objectClass.BackLinks.Any(t => t.BackLinkAttribute == this))
            {
                return(false);
            }

            if (objectClass.ShadowLinks.Any(t => t.ReferenceAttribute == this))
            {
                return(false);
            }


            return(true);
        }
Exemple #5
0
        public bool IsValidForwardLink(AcmaSchemaObjectClass forwardLinkObjectClass)
        {
            if (this.Type != ExtendedAttributeType.Reference)
            {
                return(false);
            }

            if (this.Operation == AcmaAttributeOperation.AcmaInternalTemp)
            {
                return(false);
            }

            if (!forwardLinkObjectClass.Attributes.Any(t => t == this))
            {
                return(false);
            }

            if (forwardLinkObjectClass.BackLinks.Any(t => t.BackLinkAttribute == this))
            {
                return(false);
            }

            return(true);
        }
Exemple #6
0
 public bool IsInheritedInClass(AcmaSchemaObjectClass objectClass)
 {
     return(this.Mappings.Any(t => t.ObjectClass == objectClass && t.InheritanceSourceAttribute != null));
 }