using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Windows; using System.Windows.Controls; using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; using InABox.Wpf; namespace PRSDesktop { /// /// Interaction logic for GPSTrackers.xaml /// public partial class GPSTrackers : UserControl, IPanel { private readonly GPSTrackerGrid Trackers; public GPSTrackers() { InitializeComponent(); Trackers = new GPSTrackerGrid { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, Margin = new Thickness(0) }; Trackers.Reconfigure(options => options.AddRange(DynamicGridOption.RecordCount, DynamicGridOption.FilterRows, DynamicGridOption.MultiSelect, DynamicGridOption.SelectColumns)); AddChild(Trackers); } public bool IsReady { get; set; } public event DataModelUpdateEvent? OnUpdateDataModel; public Dictionary Selected() { return new Dictionary { { typeof(GPSTracker).EntityName(), Trackers.SelectedRows } }; } public void Setup() { } public void Shutdown(CancelEventArgs? cancel) { } public void CreateToolbarButtons(IPanelHost host) { EquipmentSetupActions.TrackerTypes(host); } public void Refresh() { Trackers.Refresh(true, true); } public string SectionName => "GPS Trackers"; public DataModel DataModel(Selection selection) { var ids = Trackers.ExtractValues(x => x.ID, selection).ToArray(); return new BaseDataModel(new Filter(x => x.ID).InList(ids)); } public void Heartbeat(TimeSpan time) { } public Type DataType() { return typeof(GPSTracker); } } }