using System; using System.Threading.Tasks; using Comal.Classes; using InABox.Core; using InABox.Mobile; using Xamarin.Forms; namespace PRS.Mobile { public class DeliveryEditViewModel : MobileViewModel { public DeliveryDocumentModel Documents { get; set; } public DeliveryItemModel Items { get; set; } public DeliveryFormModel Forms { get; set; } public DeliveryEditViewModel() { Documents = new DeliveryDocumentModel(App.Data, () => new Filter(x => x.EntityLink.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); Items = new DeliveryItemModel(App.Data, () => new Filter(x => x.Delivery.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); Forms = new DeliveryFormModel(App.Data, () => new Filter(x => x.Parent.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); } protected override void DoLoad() { var tasks = new Task[] { Task.Run(() => { if (Item != null && Item.ID != Guid.Empty) Items.Refresh(true); }), Task.Run(() => { if (Item != null && Item.ID != Guid.Empty) Documents.Refresh(true); }), Task.Run(() => { if (Item != null && Item.ID != Guid.Empty) Forms.Refresh(true); }) }; Task.WaitAll(tasks); } } }