namespace ProximaAnalizer.Helpers; public partial class DisplayHistroyHelper1(int key, int value, string[] keywords) : ObservableObject { [ObservableProperty] private ObservableDictionary _Data = []; public void UpdateData(List? data) { if (data is null) return; if (data.FirstOrDefault() is not IDictionary source) return; App.Current.Dispatcher?.Invoke(() => { foreach (var data in source) { string[] keys = data.Key.Split('.'); if (keys.Length <= value) continue; if (keywords.Any(t => keys[key].StartsWith(t))) this.Data[keys[value]] = data.Value; } }); } public void Clear() { this.Data ??= []; this.Data.Clear(); } } public partial class DisplayHistroyHelper2(int key, int value, string keyWord) : ObservableObject { [ObservableProperty] private ObservableDictionary> _Data = []; public void UpdateData(List? data) { if (data is null) return; if (data.FirstOrDefault() is not IDictionary source) return; App.Current.Dispatcher?.Invoke(() => { foreach (var data in source) { string[] keys = data.Key.Split('.'); if (keys.Length <= value) continue; if (!keys[1].StartsWith(keyWord)) continue; if (!this.Data.TryGetValue(keys[key], out var output) || output is null) { output = []; this.Data[keys[key]] = output; } output[keys[value]] = data.Value; } }); } public void Clear() { this.Data ??= []; this.Data.Clear(); } }