Ejemplo n.º 1
0
        internal List <Difference> CompareTo(PropertyConfig baseline, bool isInstalled)
        {
            var result = new List <Difference>();

            // Basics
            if (!isInstalled)
            {
                if (CanonicalName != baseline.CanonicalName)
                {
                    result.Add(new Difference(nameof(CanonicalName), CanonicalName, baseline.CanonicalName));
                }
                if (FormatId != baseline.FormatId)
                {
                    result.Add(new Difference(nameof(FormatId), FormatId, baseline.FormatId));
                }
                if (PropertyId != baseline.PropertyId)
                {
                    result.Add(new Difference(nameof(PropertyId), PropertyId, baseline.PropertyId));
                }
            }

            // Search
            if (InInvertedIndex != baseline.InInvertedIndex)
            {
                result.Add(new Difference(nameof(InInvertedIndex), InInvertedIndex, baseline.InInvertedIndex));
            }
            if (IsColumn != baseline.IsColumn)
            {
                result.Add(new Difference(nameof(IsColumn), IsColumn, baseline.IsColumn));
            }
            if (IsColumnSparse != baseline.IsColumnSparse)
            {
                result.Add(new Difference(nameof(IsColumnSparse), IsColumnSparse, baseline.IsColumnSparse));
            }
            if (ColumnIndexType != baseline.ColumnIndexType)
            {
                result.Add(new Difference(nameof(ColumnIndexType), ColumnIndexType, baseline.ColumnIndexType));
            }
            if (MaxSize != baseline.MaxSize)
            {
                result.Add(new Difference(nameof(MaxSize), MaxSize, baseline.MaxSize));
            }
            if (!isInstalled)
            {
                if (Mnemonics != baseline.Mnemonics)
                {
                    result.Add(new Difference(nameof(Mnemonics), Mnemonics, baseline.Mnemonics));
                }
            }


            // Label
            if (DisplayName != baseline.DisplayName)
            {
                result.Add(new Difference(nameof(DisplayName), DisplayName, baseline.DisplayName));
            }
            if (SortDescription != baseline.SortDescription)
            {
                result.Add(new Difference(nameof(SortDescription), SortDescription, baseline.SortDescription));
            }
            if (EditInvitation != baseline.EditInvitation)
            {
                result.Add(new Difference(nameof(EditInvitation), EditInvitation, baseline.EditInvitation));
            }
            if (HideLabel != baseline.HideLabel)
            {
                result.Add(new Difference(nameof(HideLabel), HideLabel, baseline.HideLabel));
            }

            // Type
            if (Type != baseline.Type)
            {
                result.Add(new Difference(nameof(Type), Type, baseline.Type));
            }
            if (GroupingRange != baseline.GroupingRange)
            {
                result.Add(new Difference(nameof(GroupingRange), GroupingRange, baseline.GroupingRange));
            }
            if (IsInnate != baseline.IsInnate)
            {
                result.Add(new Difference(nameof(IsInnate), IsInnate, baseline.IsInnate));
            }
            if (CanBePurged != baseline.CanBePurged)
            {
                result.Add(new Difference(nameof(CanBePurged), CanBePurged, baseline.CanBePurged));
            }
            if (MultipleValues != baseline.MultipleValues)
            {
                result.Add(new Difference(nameof(MultipleValues), MultipleValues, baseline.MultipleValues));
            }
            if (IsGroup != baseline.IsGroup)
            {
                result.Add(new Difference(nameof(IsGroup), IsGroup, baseline.IsGroup));
            }
            if (AggregationType != baseline.AggregationType)
            {
                result.Add(new Difference(nameof(AggregationType), AggregationType, baseline.AggregationType));
            }
            if (IsTreeProperty != baseline.IsTreeProperty)
            {
                result.Add(new Difference(nameof(IsTreeProperty), IsTreeProperty, baseline.IsTreeProperty));
            }
            if (IsViewable != baseline.IsViewable)
            {
                result.Add(new Difference(nameof(IsViewable), IsViewable, baseline.IsViewable));
            }
            if (!isInstalled)
            {
                if (SearchRawValue != baseline.SearchRawValue)
                {
                    result.Add(new Difference(nameof(SearchRawValue), SearchRawValue, baseline.SearchRawValue));
                }
            }
            if (ConditionType != baseline.ConditionType)
            {
                result.Add(new Difference(nameof(ConditionType), ConditionType, baseline.ConditionType));
            }
            if (!isInstalled)
            {
                if (ConditionOperation != baseline.ConditionOperation)
                {
                    result.Add(new Difference(nameof(ConditionOperation), ConditionOperation, baseline.ConditionOperation));
                }
            }
            else
            {
                if (baseline.ConditionOperationInstalled < PropertyConditionOperation.Equal ||
                    baseline.ConditionOperationInstalled > PropertyConditionOperation.GreaterThan ||
                    (int)baseline.ConditionOperationInstalled != (int)ConditionOperation)
                {
                    result.Add(new Difference(nameof(ConditionOperation), ConditionOperation, baseline.ConditionOperationInstalled));
                }
            }

            // Display
            if (DisplayType != baseline.DisplayType)
            {
                result.Add(new Difference(nameof(DisplayType), DisplayType, baseline.DisplayType));
            }
            if (!isInstalled)
            {
                if (StringFormat != baseline.StringFormat)
                {
                    result.Add(new Difference(nameof(StringFormat), StringFormat, baseline.StringFormat));
                }
                if (BooleanFormat != baseline.BooleanFormat)
                {
                    result.Add(new Difference(nameof(BooleanFormat), BooleanFormat, baseline.BooleanFormat));
                }
                if (NumberFormat != baseline.NumberFormat)
                {
                    result.Add(new Difference(nameof(NumberFormat), NumberFormat, baseline.NumberFormat));
                }
                if (DateTimeFormat != baseline.DateTimeFormat)
                {
                    result.Add(new Difference(nameof(DateTimeFormat), DateTimeFormat, baseline.DateTimeFormat));
                }
            }
            if (DefaultColumnWidth != baseline.DefaultColumnWidth)
            {
                result.Add(new Difference(nameof(DefaultColumnWidth), DefaultColumnWidth, baseline.DefaultColumnWidth));
            }
            if (Alignment != baseline.Alignment)
            {
                result.Add(new Difference(nameof(Alignment), Alignment, baseline.Alignment));
            }
            //if (RelativeDescriptionType != baseline.RelativeDescriptionType) result.Add(new Difference(nameof(RelativeDescriptionType), RelativeDescriptionType, baseline.RelativeDescriptionType));
            if (DefaultSortDirection != baseline.DefaultSortDirection)
            {
                result.Add(new Difference(nameof(DefaultSortDirection), DefaultSortDirection, baseline.DefaultSortDirection));
            }
            if (!isInstalled)
            {
                if (EditControl != baseline.EditControl)
                {
                    result.Add(new Difference(nameof(EditControl), EditControl, baseline.EditControl));
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        internal void CopyFrom(PropertyConfig from, bool isInstalled)
        {
            // If we don't copy a value, set it to the default
            SetDefaultValues();

            // Basics
            if (!isInstalled)
            {
                CanonicalName = from.CanonicalName;
                FormatId      = from.FormatId;
                PropertyId    = from.PropertyId;
            }

            // Search
            InInvertedIndex = from.InInvertedIndex;
            IsColumn        = from.IsColumn;
            IsColumnSparse  = from.IsColumnSparse;
            ColumnIndexType = from.ColumnIndexType;
            MaxSize         = from.MaxSize;
            if (!isInstalled)
            {
                Mnemonics = from.Mnemonics;
            }

            // Label
            DisplayName     = from.DisplayName;
            SortDescription = from.SortDescription;
            EditInvitation  = from.EditInvitation;
            HideLabel       = from.HideLabel;

            // Type
            Type            = from.Type;
            GroupingRange   = from.GroupingRange;
            IsInnate        = from.IsInnate;
            CanBePurged     = from.CanBePurged;
            MultipleValues  = from.MultipleValues;
            IsGroup         = from.IsGroup;
            AggregationType = from.AggregationType;
            IsTreeProperty  = from.IsTreeProperty;
            IsViewable      = from.IsViewable;
            if (!isInstalled)
            {
                SearchRawValue = from.SearchRawValue;
            }
            ConditionType = from.ConditionType;
            if (!isInstalled)
            {
                ConditionOperation = from.ConditionOperation;
            }
            else
            {
                ConditionOperation = ConfiguredOperationFromInstalled(from.ConditionOperationInstalled);
            }

            // Display
            DisplayType = from.DisplayType;
            if (!isInstalled)
            {
                StringFormat   = from.StringFormat;
                BooleanFormat  = from.BooleanFormat;
                NumberFormat   = from.NumberFormat;
                DateTimeFormat = from.DateTimeFormat;
            }
            DefaultColumnWidth      = from.DefaultColumnWidth;
            Alignment               = from.Alignment;
            RelativeDescriptionType = from.RelativeDescriptionType;
            DefaultSortDirection    = from.DefaultSortDirection;
            if (!isInstalled)
            {
                EditControl = from.EditControl;
            }
        }