using System; using System.Threading.Tasks; using Comal.Classes; using InABox.Core; using InABox.Mobile; namespace PRS.Mobile { public class ConsignmentEditViewModel : MobileViewModel { //public ConsignmentDocumentModel Documents { get; set; } public PurchaseOrderItemModel Items { get; set; } //public PurchaseOrderItemFormModel Forms { get; set; } public ConsignmentEditViewModel() { //Documents = new ConsignmentDocumentModel(App.Data, // () => new Filter(x => x.EntityLink.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); Items = new PurchaseOrderItemModel(App.Data, () => new Filter(x => x.Consignment.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); //Forms = new PurchaseOrderItemFormModel(App.Data, // () => new Filter(x => x.Parent.ID).IsEqualTo(Item?.ID ?? Guid.Empty)); } public void LoadOrder(PurchaseOrderShell order) { var orderitems = new PurchaseOrderItemModel(App.Data, () => new Filter(x => x.PurchaseOrderLink.ID).IsEqualTo(order.ID)); orderitems.Refresh(true); foreach (var orderitem in orderitems.Items) { var consitem = Items.CreateItem(); consitem.Row.LoadValues(orderitem.Row.Values); Items.CommitItem(consitem); } } 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); } public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged(); public bool IsNew => Item == null || Item.ID == Guid.Empty; } }