public ThemePropertyComparisonViewModel(
            ThemePropertyViewModel oldProperty, ThemePropertyViewModel newProperty)
        {
            if (oldProperty == null && newProperty == null)
            {
                throw new ArgumentException();
            }

            OldProperty = oldProperty;
            NewProperty = newProperty;
            Comparison  = ComparisonUtils.GetResult(oldProperty != null, newProperty != null);

            if (newProperty != null)
            {
                DisplayName   = newProperty.DisplayName;
                PropertyId    = newProperty.PropertyId;
                PrimitiveType = newProperty.DisplayPrimitiveType;
            }
            else
            {
                DisplayName   = oldProperty.DisplayName;
                PropertyId    = oldProperty.PropertyId;
                PrimitiveType = oldProperty.DisplayPrimitiveType;
            }
        }
 public ThemePartComparisonViewModel(
     ThemePartViewModel oldPart, ThemePartViewModel newPart)
 {
     OldPart     = oldPart;
     NewPart     = newPart;
     Comparison  = ComparisonUtils.GetResult(oldPart != null, newPart != null);
     DisplayName = NewPart?.DisplayName ?? OldPart?.DisplayName;
 }
 public ThemeStateComparisonViewModel(
     ThemeStateViewModel oldState, ThemeStateViewModel newState)
 {
     OldState    = oldState;
     NewState    = newState;
     Comparison  = ComparisonUtils.GetResult(oldState != null, newState != null);
     DisplayName = NewState?.DisplayName ?? OldState?.DisplayName;
 }
 public ThemeClassComparisonViewModel(
     ThemeClassViewModel oldClass, ThemeClassViewModel newClass)
 {
     OldClass    = oldClass;
     NewClass    = newClass;
     Comparison  = ComparisonUtils.GetResult(oldClass != null, newClass != null);
     DisplayName = OldClass?.Name ?? NewClass?.Name;
 }