ProductEditViewModel.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Threading.Tasks;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.Mobile;
  6. namespace PRS.Mobile
  7. {
  8. public class ProductEditViewModel : MobileViewModel<Product, ProductShell>
  9. {
  10. protected override void DoLoad()
  11. {
  12. Task[] tasks = new Task[]
  13. {
  14. Task.Run(() => Holdings.Refresh(true)),
  15. Task.Run(() => Movements.Refresh(true))
  16. };
  17. Task.WaitAll(tasks);
  18. }
  19. public StockHoldingModel Holdings { get; private set; }
  20. public StockMovementModel Movements { get; private set; }
  21. public ProductEditViewModel()
  22. {
  23. Holdings = new StockHoldingModel(App.Data,
  24. () => new Filter<StockHolding>(x => x.Product.ID).IsEqualTo(Item?.ID ?? CoreUtils.FullGuid).And(x=>x.Units).IsNotEqualTo(0.0F)
  25. );
  26. Movements = new StockMovementModel(App.Data,
  27. () => new Filter<StockMovement>(x => x.Product.ID).IsEqualTo(Item?.ID ?? CoreUtils.FullGuid)
  28. );
  29. }
  30. public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged();
  31. }
  32. }