private void ComparePluginLocation(OldPluginLocation oldLocation, PluginLocation newLocation) { if (oldLocation == null) { return; } newLocation.Should().NotBeNull(); var propertiesToCompare = new HashSet <string> { nameof(OldPluginLocation.DllHash), nameof(OldPluginLocation.DllPath), nameof(OldPluginLocation.LastModifiedDateTime), nameof(OldPluginLocation.VendorVersion), nameof(OldPluginLocation.PluginVendor), nameof(OldPluginLocation.PluginName), nameof(OldPluginLocation.PluginProduct), nameof(OldPluginLocation.VstPluginId) }; var comparer = new PropertyComparisonHelper(oldLocation, newLocation); comparer.CompareProperties(propertiesToCompare); comparer.GetUnvisitedProperties().Should().BeEmpty(); }
private void MigratePluginLocation(Plugin oldPlugin, PluginLocation oldLocation, NewModels.PluginLocation newLocation) { var propertiesToMigrate = new HashSet <string> { nameof(PluginLocation.DllHash), nameof(PluginLocation.DllPath), nameof(PluginLocation.PluginName), nameof(PluginLocation.PluginName), nameof(PluginLocation.PluginVendor), nameof(PluginLocation.PluginProduct), nameof(PluginLocation.VstPluginId), nameof(PluginLocation.VendorVersion), nameof(PluginLocation.LastModifiedDateTime), }; foreach (var propertyName in propertiesToMigrate) { var oldValue = PropertyHelper.GetPropertyValue(oldLocation, propertyName); PropertyHelper.SetPropertyValue(newLocation, propertyName, oldValue); } newLocation.HasMetadata = oldPlugin.HasMetadata; }