示例#1
0
        public ICollection <TemplatePageCanvasBitmapResource> Handle(GetCanvasesBitmapsForTemplate query)
        {
            if (query == null)
            {
                throw new ArgumentNullException(nameof(query));
            }
            if (query.TemplateId == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(query.TemplateId));
            }

            using (_context)
            {
                var pageCanvases = _context.PageCanvasBitmaps
                                   .Where(doc => doc.TemplateId == query.TemplateId)
                                   .ToList();

                var bitmaps = new List <TemplatePageCanvasBitmapResource>();

                foreach (var pageCanvas in pageCanvases)
                {
                    var bitmapBytes = File.ReadAllBytes(pageCanvas.BitmapPath);
                    bitmaps.Add(new TemplatePageCanvasBitmapResource
                    {
                        FileData       = bitmapBytes,
                        Filetype       = Path.GetFileName(pageCanvas.BitmapPath).AsBitmapFiletype(),
                        TemplatePageId = pageCanvas.TemplatePageId
                    });
                }

                return(bitmaps);
            }
        }
示例#2
0
        public FileStorageRequestResult <ICollection <TemplatePageCanvasBitmapResource> > Handle(GetCanvasesBitmapsForTemplate command)
        {
            var url = _persistenceConfiguration.FileStorageApiTemplateFilesUrl
                      + $"/template-definition/{command.TemplateId}/canvases";

            return(url.GetJsonAsync <FileStorageRequestResult <ICollection <TemplatePageCanvasBitmapResource> > >().Result);
        }