using System; using System.Linq; using Comal.Classes; using InABox.Core; using InABox.Mobile; using Xamarin.Forms; namespace PRS.Mobile { public class ShipmentSelectionPage : SelectionPage { public ShipmentSelectionPage(Action action) : base( (string)"Select Rack", (SelectionPageMode)SelectionPageMode.Immediate, (columns, filters) => { columns .BeginUpdate() .Clear() .Add(new MobileGridTextColumn() { Column = x => x.Code, Width = GridLength.Auto }) .Add(new MobileGridTextColumn() { Column = x => x.Description, Width = GridLength.Star }) .Add(new MobileGridIntegerColumn() { Column = x => x.ItemCount, Width = GridLength.Auto, Caption = "#"}) .EndUpdate(); }, (args) => { return new ShipmentModel(App.Data, () => new Filter(x => x.Delivery.ID).IsEqualTo(Guid.Empty) .And(x => x.ItemCount).IsNotEqualTo(0)).Refresh(true); }, (items) => action?.Invoke(items.FirstOrDefault() as ShipmentShell) ) { } } }