| 123456789101112131415161718192021222324252627282930313233343536 |
- using System;
- using System.Linq;
- using InABox.Mobile;
- using Xamarin.Forms;
- namespace PRS.Mobile
- {
- public class ProductSelectionPage : SelectionPage
- {
- public ProductSelectionPage(Action<ProductShell> action)
- : base(
- (string)"Select Product",
- (SelectionPageMode)SelectionPageMode.Immediate,
- (columns, filters) =>
- {
- columns
- .BeginUpdate()
- .Clear()
- .Add(new MobileGridTextColumn<ProductShell>()
- { Column = x => x.Code, Width = GridLength.Auto })
- .Add(new MobileGridTextColumn<ProductShell>()
- { Column = x => x.Name, Width = GridLength.Star })
- .EndUpdate();
- },
- (args) =>
- {
- App.Data.Products.SelectFilter(args.Filter);
- var result = App.Data.Products.Refresh(args.Force);
- args.LastUpdated = App.Data.Products.LastUpdated;
- return result;
- },
- (items) => action?.Invoke(items.FirstOrDefault() as ProductShell)
- ) { }
- }
- }
|