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); }
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; } }