| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.Linq;
- using System.Threading.Tasks;
- using Comal.Classes;
- using InABox.Core;
- using InABox.Mobile;
- using Syncfusion.SfRangeSlider.XForms;
- namespace PRS.Mobile
- {
- public class FrameScannerViewModel : MobileViewModel<DeliveryItem, DeliveryItemShell>
- {
- public DeliveryDocumentModel DeliveryDocuments { get; private set; }
-
- public SetoutDocumentModel SetoutDocuments { get; private set; }
- private DeliveryItemModel _deliveryitems;
- private Task _deliveryItemTask;
-
- public FrameScannerViewModel()
- {
- DeliveryDocuments = new DeliveryDocumentModel(App.Data,
- () => new Filter<DeliveryDocument>(x => x.EntityLink.ID).IsEqualTo(Item?.DeliveryID ?? CoreUtils.FullGuid));
- SetoutDocuments = new SetoutDocumentModel(App.Data,
- () => new Filter<SetoutDocument>(x => x.EntityLink.ID).IsEqualTo(Item?.SetoutID ?? CoreUtils.FullGuid));
-
- _deliveryitems = new DeliveryItemModel(App.Data,
- () => new Filter<DeliveryItem>(x=>x.Barcode).IsNotEqualTo("")
- );
- _deliveryItemTask = Task.Run(() => _deliveryitems.Refresh(true));
- }
- public void Search(string barcode)
- {
- _deliveryItemTask.Wait();
- Item = _deliveryitems.FirstOrDefault(x => String.Equals(x.Barcode, barcode));
- }
- protected override void DoLoad()
- {
- var tasks = new Task[]
- {
- Task.Run(() =>DeliveryDocuments.Refresh(true)),
- Task.Run(() =>SetoutDocuments.Refresh(true))
- };
- Task.WaitAll(tasks);
-
- }
-
- public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged();
- }
- }
|