using System; using System.IO; using Comal.Classes; using Xamarin.Forms; namespace comal.timesheets { public interface IDocumentShell { Guid EntityID { get; } Guid ID { get; } String FileName { get; } ImageSource Thumbnail { get; } } public class DeliveryItemDetailDeliveryDocumentShell : Shell, IDocumentShell { static DeliveryItemDetailDeliveryDocumentShell() { Columns .Map(nameof(EntityID), x=>x.EntityLink.ID) .Map(nameof(ID), x => x.DocumentLink.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)); } }