public override FileSystem.Image ImageThumbnail(string VirtualPath, int MaximumSize)
{
var file = GetFile(VirtualPath);
if (!file.IsImage)
return null;
var db = new FileSystem.FileStoreDb(this.connectionString);
var image = file.AsImage;
var thumbnail = db.FileStoreFileThumbs.FirstOrDefault(x => x.FileId == Guid.Parse(image.Id));
if (thumbnail == null)
{
FileSystem.FileStoreFileThumb thumb = new FileSystem.FileStoreFileThumb()
{
contents = FileSystem.Image.ResizeImageThumbnail(MaximumSize, image.FileContents),
FileId = Guid.Parse(image.Id),
size = MaximumSize,
thumbnailId = Guid.NewGuid()
};
db.FileStoreFileThumbs.InsertOnSubmit(thumb);
db.SubmitChanges();
image.FileContents = thumb.contents.ToArray();
}
else
image.FileContents = thumbnail.contents.ToArray();
db.Dispose();
return image;
}