MeetingItemModel.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using System.Diagnostics.CodeAnalysis;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.Mobile;
  6. namespace PRS.Mobile
  7. {
  8. public class MeetingItemModel : ListModel<MeetingItemModel, MeetingItemShell, MeetingItem>
  9. {
  10. public MeetingItemModel(IModelHost host, Func<Filter<MeetingItem>> baseFilter, bool transient = false) : base(
  11. host, baseFilter, transient)
  12. {
  13. }
  14. public MeetingItemModel(IModelHost host, Func<Filter<MeetingItem>> baseFilter, [NotNull] String filename) :
  15. base(host, baseFilter, filename)
  16. {
  17. }
  18. protected override void Initialize()
  19. {
  20. base.Initialize();
  21. Agenda = new CoreTreeNodes();
  22. }
  23. public CoreTreeNodes Agenda { get; private set; }
  24. public override void AfterLoad(MultiQuery query)
  25. {
  26. base.AfterLoad(query);
  27. Agenda.Load<MeetingItem>(
  28. query.Get<MeetingItem>(),
  29. x=>x.ID,
  30. x=>x.Parent.ID,
  31. x=>x.Title
  32. );
  33. // var roots = Agenda.GetChilden(Guid.Empty);
  34. // foreach (var root in roots)
  35. // root.Parent = CoreUtils.FullGuid;
  36. // DocumentFolders.Add(CoreUtils.FullGuid, Guid.Empty).Description = "All Folders";
  37. }
  38. }
  39. }