public byte[] GetPresetData(Preset preset) { var data = PresetDataStorage.Find(preset.PresetId); if (data != null) { return(data.PresetData); } return(null); }
public async Task PersistPreset(PresetParserMetadata presetMetadata, byte[] data, bool force = false) { var plugin = presetMetadata.Plugin; var preset = (from p in plugin.Presets where p.OriginalMetadata.SourceFile == presetMetadata.SourceFile select p) .FirstOrDefault(); if (preset == null) { preset = new Preset(); preset.Plugin = plugin; plugin.Presets.Add(preset); } preset.SetFromPresetParser(presetMetadata); PresetUpdated?.Invoke(this, new PresetUpdatedEventArgs(preset)); var hash = HashUtils.getIxxHash(data); if (hash == preset.PresetHash && preset.PresetSize == data.Length && !force) { return; } preset.PresetHash = hash; preset.PresetSize = data.Length; var presetData = new PresetDataStorage { PresetData = data, PluginId = preset.Plugin.PluginId, PresetDataId = preset.PresetId }; await _db.InsertOrReplaceAsync(presetData); preset.PresetCompressedSize = presetData.PresetCompressedSize; }