DigitalFormDocumentShell.cs 955 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using InABox.Core;
  5. using Xamarin.Forms;
  6. namespace comal.timesheets
  7. {
  8. public class DigitalFormDocumentShell : Shell<DigitalFormModel, DigitalFormDocument>, IDocumentShell
  9. {
  10. static DigitalFormDocumentShell()
  11. {
  12. Columns
  13. .Map(nameof(EntityID), x => x.EntityLink.ID)
  14. .Map(nameof(ID), x => x.ID)
  15. .Map(nameof(FileName), x => x.DocumentLink.FileName)
  16. .Map(nameof(_thumbnail), x => x.Thumbnail);
  17. }
  18. public Guid EntityID => Get<Guid>();
  19. public Guid ID => Get<Guid>();
  20. public String FileName => Get<String>();
  21. private byte[] _thumbnail => Get<byte[]>();
  22. public ImageSource Thumbnail => ImageSource.FromStream(() => new MemoryStream(_thumbnail));
  23. public DigitalFormShell Form => Parent.Items.FirstOrDefault(x => Guid.Equals(x.ID, ID));
  24. }
  25. }