MeetingItemEditViewModel.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 MeetingItemEditViewModel : MobileViewModel<MeetingItem, MeetingItemShell>
  9. {
  10. protected override void DoLoad()
  11. {
  12. Task[] tasks = new Task[]
  13. {
  14. Task.Run(() => Kanbans.Refresh(true)),
  15. Task.Run(() => Documents.Refresh(true))
  16. };
  17. Task.WaitAll(tasks);
  18. }
  19. public MeetingItemKanbanModel Kanbans { get; }
  20. public MeetingItemDocumentModel Documents { get; }
  21. public MeetingItemEditViewModel()
  22. {
  23. Kanbans = new MeetingItemKanbanModel(App.Data,
  24. () => new Filter<MeetingItemKanban>(x => x.Entity.ID).IsEqualTo(Item?.ID ?? CoreUtils.FullGuid)
  25. );
  26. Documents = new MeetingItemDocumentModel(App.Data,
  27. () => new Filter<MeetingItemDocument>(x => x.EntityLink.ID).IsEqualTo(Item?.ID ?? CoreUtils.FullGuid)
  28. );
  29. }
  30. public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged();
  31. }
  32. }