/// <summary>Downloads the image from the site</summary>
 /// <param name="id">ID of the image</param>
 /// <returns>Fiew view</returns>
 public FileContentResult Download(int id)
 {
     ArchiveDocumentImage archiveDocumentImage;
     using (var context = new DatabaseContext())
     {
         archiveDocumentImage = context.ArchiveDocumentImages.First(x => x.Id == id);
     }
     var storage = new ArchiveDocumentImageStorage();
     var bytes = storage.Download(id);
     return File(bytes, "image/" + archiveDocumentImage.Format, archiveDocumentImage.FileName);
 }
        public ActionResult Upload(ArchiveDocumentImage archiveDocumentImage, HttpPostedFileBase file)
        {
            if (file != null && file.ContentLength > 0)
            {
                using (var context = new DatabaseContext())
                {
                    var archiveDocumentImages = context.ArchiveDocumentImages
                        .Where(x => x.ArchiveDocumentId == archiveDocumentImage.ArchiveDocumentId).ToList();
                    var sequenceNumber = (byte)(archiveDocumentImages.Count == 0 ? 1
                        : archiveDocumentImages.Max(x => x.SequenceNumber) + 1);
                    archiveDocumentImage.SequenceNumber = sequenceNumber;
                    var bytes = archiveDocumentImage.Initialize(file.InputStream, file.ContentLength, file.FileName);

                    context.ArchiveDocumentImages.Add(archiveDocumentImage);
                    context.SaveChanges();

                    var storage = new ArchiveDocumentImageStorage();
                    storage.Upload(archiveDocumentImage.Id, bytes);
                }
            }
            return RedirectToAction("WithImages", "ArchiveDocument", new { id = archiveDocumentImage .ArchiveDocumentId});
        }
Esempio n. 3
0
 /// <summary>Constructor establishes the connection</summary>
 /// <param name="sourceFolder">The folder keeping images</param>
 public BlobPersister(string sourceFolder)
 {
     _sourceFolder = sourceFolder;
     _identityDocumentImageStorage = new IdentityDocumentImageStorage();
     _archiveDocumentImageStorage = new ArchiveDocumentImageStorage();
 }