JobDocumentShell.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.IO;
  3. using Comal.Classes;
  4. using Xamarin.Forms;
  5. namespace comal.timesheets
  6. {
  7. public class JobDocumentShell : Shell<JobDetailModel, JobDocumentSetMileStoneFile>, IDocumentShell
  8. {
  9. static JobDocumentShell()
  10. {
  11. Columns
  12. .Map(nameof(FileName), x => x.DocumentLink.FileName)
  13. .Map(nameof(_thumbnail), x => x.Thumbnail)
  14. .Map(nameof(ID), x => x.DocumentLink.ID)
  15. .Map(nameof(EntityID), x => x.EntityLink.DocumentSet.Job.ID)
  16. .Map(nameof(CategoryID), x=>x.EntityLink.DocumentSet.Category.ID)
  17. .Map(nameof(TypeID), x=>x.EntityLink.DocumentSet.Type.ID)
  18. .Map(nameof(ItpID), x=>x.EntityLink.DocumentSet.Area.ID)
  19. .Map(nameof(DisciplineID), x=>x.EntityLink.DocumentSet.Discipline.ID)
  20. .Map(nameof(FolderID), x=>x.EntityLink.DocumentSet.Folder.ID);
  21. }
  22. public Guid EntityID => Get<Guid>();
  23. public Guid ID => Get<Guid>();
  24. public string FileName => Get<String>();
  25. private byte[] _thumbnail => Get<byte[]>();
  26. public ImageSource Thumbnail => ImageSource.FromStream(() => new MemoryStream(_thumbnail));
  27. public Guid CategoryID => Get<Guid>();
  28. public Guid ItpID => Get<Guid>();
  29. public Guid TypeID => Get<Guid>();
  30. public Guid DisciplineID => Get<Guid>();
  31. public Guid FolderID => Get<Guid>();
  32. }
  33. }