using System; using System.Linq; using System.Threading.Tasks; using Comal.Classes; using InABox.Core; using InABox.Mobile; namespace PRS.Mobile { public class FrameScannerViewModel : MobileViewModel { public DeliveryDocumentModel DeliveryDocuments { get; private set; } public SetoutDocumentModel SetoutDocuments { get; private set; } public FrameScannerViewModel(Guid deliveryitemid) { DeliveryDocuments = new DeliveryDocumentModel(App.Data, () => new Filter(x => x.EntityLink.ID).IsEqualTo(Item?.DeliveryID ?? CoreUtils.FullGuid)); SetoutDocuments = new SetoutDocumentModel(App.Data, () => new Filter(x => x.EntityLink.ID).IsEqualTo(Item?.SetoutID ?? CoreUtils.FullGuid)); var model = new DeliveryItemModel(App.Data, () => new Filter(x => x.ID).IsEqualTo(deliveryitemid) ); model.Refresh(false); Item = model.Items.FirstOrDefault(); } protected override void DoLoad() { var tasks = new Task[] { Task.Run(() => DeliveryDocuments.Refresh(true)), Task.Run(() => SetoutDocuments.Refresh(true)), }; Task.WaitAll(tasks); } } }