public JsonResult DeleteScanFromRecycleBin(Guid scanID) { bool result = true; try { ScansRepository repository = new ScansRepository(); repository.DeleteScanFromRecycleBin(scanID); } catch { result = false; } return(Json(result)); }
public ActionResult SplitFile(Guid?scanGuid) { if (scanGuid.HasValue) { ScanBrowser browser = ScanBrowserFactory.Create(); ScansRepository scanRepository = new ScansRepository(); Scan scan = scanRepository.GetScan(scanGuid.Value); byte[] fileContent = scan.ScanContent.ToArray(); string[] fileName = scan.FileName.Split('.'); string mimeType = scan.MimeType; MemoryStream stream = new MemoryStream(); stream.Write(fileContent, 0, fileContent.Length); LicensingManager.LicenseKey = "lL+mtKWhtKOnrbSjuqS0p6W6paa6ra2trQ=="; Winnovative.PdfCreator.Document sourcedoc = new Winnovative.PdfCreator.Document(stream); stream.Close(); using (TransactionScope transaction = new TransactionScope()) { if (sourcedoc != null && sourcedoc.Pages.Count > 1) { for (int i = 0; i < sourcedoc.Pages.Count; i++) { Winnovative.PdfCreator.Document newdoc = SplitPdf.ExtractPages(sourcedoc, i, 1); string newFileName = string.Join(string.Format("_{0}.", (i + 1)), fileName); ScanInfo newscan = browser.GetScanFromFile(newdoc.Save(), newFileName); ScansHelper.AddScan(newscan); } scanRepository.DeleteScanFromRecycleBin(scan.ScanID); } transaction.Complete(); } } return(RedirectToAction("Index")); }