using System; using System.Windows.Controls; using Comal.Classes; using InABox.Clients; using InABox.Core; namespace PRSDesktop { public enum DeliveryFilter { UnAssigned, Booked, Open } /// /// Interaction logic for DeliveryList.xaml /// public partial class DeliveryDock : UserControl, IDockPanel { public DeliveryDock() { InitializeComponent(); Filter = DeliveryFilter.UnAssigned; } public DeliveryFilter Filter { get; set; } public void Setup() { } public void Refresh() { Deliveries.ItemsSource = null; if (Filter == DeliveryFilter.UnAssigned) { new Client().Load( new Filter(x => x.Assignment).NotLinkValid(), new SortOrder(x => x.Due), (d, e) => { Dispatcher.Invoke(() => { Deliveries.ItemsSource = d; }); } ); } else if (Filter == DeliveryFilter.Booked) { new Client().Load( new Filter(x => x.Completed).IsEqualTo(DateTime.MinValue).And(x => x.Assignment).LinkValid(), new SortOrder(x => x.Due), (d, e) => { Dispatcher.Invoke(() => { Deliveries.ItemsSource = d; }); } ); } else if (Filter == DeliveryFilter.Open) { var today = new Filter(x => x.Completed).IsEqualTo(DateTime.MinValue); today.Ors.Add(new Filter(x => x.Completed).IsGreaterThanOrEqualTo(DateTime.Today).And(x => x.Completed) .IsLessThan(DateTime.Today.AddDays(1))); new Client().Load( today, new SortOrder(x => x.Due), (d, e) => { Dispatcher.Invoke(() => { Deliveries.ItemsSource = d; }); } ); } } //Point startpoint = new Point(); //private void Deliveries_PreviewMouseDown(object sender, MouseButtonEventArgs e) //{ // if (e.LeftButton == MouseButtonState.Pressed) // startpoint = e.GetPosition(null); //} //private void Deliveries_PreviewMouseMove(object sender, MouseEventArgs e) //{ // if (Deliveries.SelectedItem == null) // return; // Vector diff = startpoint - e.GetPosition(null); // if (e.LeftButton == MouseButtonState.Pressed && // (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || // Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)) // { // DataObject dragData = new DataObject("Delivery", Deliveries.SelectedItem); // DragDrop.DoDragDrop(Deliveries, dragData, DragDropEffects.Copy); // } //} //private void Deliveries_PreviewMouseUp(object sender, MouseButtonEventArgs e) //{ // startpoint = new Point(); //} } }