Exemplo n.º 1
0
        /// <summary>
        /// Provide an ordered list for displaying attributes
        /// </summary>
        protected override CompartmentMapping[] GetCompartmentMappings(Type melType)
        {
            CompartmentMapping[] retVal = base.GetCompartmentMappings(melType);
            if (melType == typeof(EntityType) && !OrderedElementList <Barker.Attribute, AttributeElementListCompartment> .IsInitialized)
            {
                ElementListCompartmentMapping mapping = (ElementListCompartmentMapping)retVal[0];
                OrderedElementList <Barker.Attribute, AttributeElementListCompartment> .Initialize(
                    mapping.ElementListGetter,
                    delegate(Barker.Attribute x, Barker.Attribute y)
                {
                    if (x == y)
                    {
                        return(0);
                    }
                    bool leftIsPrimary  = x.IsPrimaryIdComponent;
                    bool rightIsPrimary = y.IsPrimaryIdComponent;
                    if (leftIsPrimary ^ rightIsPrimary)
                    {
                        return(leftIsPrimary ? -1 : 1);
                    }

                    return(x.Name.CompareTo(y.Name));
                });

                mapping.ElementListGetter = OrderedElementList <Barker.Attribute, AttributeElementListCompartment> .ElementListGetter;
            }
            return(retVal);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Provide an ordered list for displaying columns
        /// </summary>
        protected override CompartmentMapping[] GetCompartmentMappings(Type melType)
        {
            CompartmentMapping[] retVal = base.GetCompartmentMappings(melType);
            if (melType == typeof(Table) && !OrderedElementList <Column, ColumnElementListCompartment> .IsInitialized)
            {
                ElementListCompartmentMapping mapping = (ElementListCompartmentMapping)retVal[0];
                OrderedElementList <Column, ColumnElementListCompartment> .Initialize(
                    mapping.ElementListGetter,
                    delegate(Column x, Column y)
                {
                    if (x == y)
                    {
                        return(0);
                    }
                    bool leftIsPrimary  = x.IsPartOfPrimaryIdentifier;
                    bool rightIsPrimary = y.IsPartOfPrimaryIdentifier;
                    if (leftIsPrimary ^ rightIsPrimary)
                    {
                        return(leftIsPrimary ? -1 : 1);
                    }

                    return(x.Name.CompareTo(y.Name));
                });

                mapping.ElementListGetter = OrderedElementList <Column, ColumnElementListCompartment> .ElementListGetter;
            }
            return(retVal);
        }