diff --git a/InfoPage.xaml.cs b/InfoPage.xaml.cs index a627a89..817b780 100644 --- a/InfoPage.xaml.cs +++ b/InfoPage.xaml.cs @@ -52,37 +52,32 @@ public partial class InfoPage : ContentPage InfoItems.Clear(); foreach (Dictionary List in DataModel.Info_data) { - if (List.TryGetValue("Name", out var val) && val != null) _Name = val.ToString()!; - if (List.TryGetValue("State", out val) && val != null) _State = val.ToString()!; - if (List.TryGetValue("MachineName", out val) && val != null) _MachineName = val.ToString()!; - if (List.TryGetValue("Machine", out val) && val != null) _Machine = val.ToString()!; - if (List.TryGetValue("Information", out val) && val != null) _Information = val.ToString()!; - if (List.TryGetValue("Type", out val) && val != null) _Type = val.ToString()!; - if (List.TryGetValue("Model", out val) && val != null) _Model = val.ToString()!; - if (List.TryGetValue("ModelA", out val) && val != null) _ModelA = val.ToString()!; - if (List.TryGetValue("ModelB", out val) && val != null) _ModelB = val.ToString()!; - if (List.TryGetValue("ModelC", out val) && val != null) _ModelC = val.ToString()!; - if (List.TryGetValue("ModelD", out val) && val != null) _ModelD = val.ToString()!; - if (List.TryGetValue("ModelE", out val) && val != null) _ModelE = val.ToString()!; - if (List.TryGetValue("ModelF", out val) && val != null) _ModelF = val.ToString()!; - - InfoItems.Add(new InfoItem + var mapping = new Dictionary> { - Name = _Name, - State = _State, - MachineName = _MachineName, - Machine = _Machine, - Information = _Information, - Type = _Type, - Model = _Model, - ModelA = _ModelA, - ModelB = _ModelB, - ModelC = _ModelC, - ModelD = _ModelD, - ModelE = _ModelE, - ModelF = _ModelF - }); + { "Name", (obj, val) => obj.Name = val }, + { "State", (obj, val) => obj.State = val }, + { "MachineName", (obj, val) => obj.MachineName = val }, + { "Machine", (obj, val) => obj.Machine = val }, + { "Information", (obj, val) => obj.Information = val }, + { "Type", (obj, val) => obj.Type = val }, + { "Model", (obj, val) => obj.Model = val }, + { "ModelA", (obj, val) => obj.ModelA = val }, + { "ModelB", (obj, val) => obj.ModelB = val }, + { "ModelC", (obj, val) => obj.ModelC = val }, + { "ModelD", (obj, val) => obj.ModelD = val }, + { "ModelE", (obj, val) => obj.ModelE = val }, + { "ModelF", (obj, val) => obj.ModelF = val } + }; + var info = new InfoItem(); + foreach (var (key, action) in mapping) + { + if (List.TryGetValue(key, out var val) && val != null) + { + action(info, val.ToString()!); + } + } + InfoItems.Add(info); } CardCollectionView.ItemsSource = InfoItems; myRefreshView_.IsRefreshing = false;