JobDocumentFolderModel.cs 1.3 KB

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