using System; using System.IO; using System.Linq; using InABox.Core; using Xamarin.Forms; namespace comal.timesheets { public class DigitalFormDocumentShell : Shell, IDocumentShell { static DigitalFormDocumentShell() { Columns .Map(nameof(EntityID), x => x.EntityLink.ID) .Map(nameof(ID), x => x.ID) .Map(nameof(FileName), x => x.DocumentLink.FileName) .Map(nameof(_thumbnail), x => x.Thumbnail); } public Guid EntityID => Get(); public Guid ID => Get(); public String FileName => Get(); private byte[] _thumbnail => Get(); public ImageSource Thumbnail => ImageSource.FromStream(() => new MemoryStream(_thumbnail)); public DigitalFormShell Form => Parent.Items.FirstOrDefault(x => Guid.Equals(x.ID, ID)); } }