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);
}
}
}