public ActionResult Index(string s) { var files = Request.Files; var res = new TagDetail(); try { if (files?.Count > 0) { for (int i = 0; i < files.Count; i++) { var file = files[i]; if (file != null) { var fileName = file.FileName; string filePath = Path.GetFileName(fileName); if (filePath != null) { string fullPath = Path.Combine(Server.MapPath("~/File"), filePath); file.SaveAs(fullPath); var extractedText = Helper.ExtractTextFromPdf(fullPath); if (string.IsNullOrEmpty(extractedText)) { extractedText = ExtractTesseract(fullPath); } var forBank = _bankContext.GetBankDetail(extractedText); var allIdentifiers = _identifierContext.GetAll(); var(noticeTypesName, noticeTypesValue) = _noticeContext.GetTypes(extractedText?.ToLower(), allIdentifiers); res.NoticeType = string.Join(",", noticeTypesName); res.FileName = fileName; res.Bank = forBank.Name; res.Tags = new List <Tag>(); foreach (var notice in noticeTypesValue) { var resTags = _tagDetailIdentifierContext.GetTagDetailIdentifier(notice, extractedText?.ToLower()); res.Tags.AddRange(resTags); } } } } } TempData["Tags"] = res.Tags; res.Executed = true; } catch (Exception e) { throw e; } int milliseconds = 2000; Thread.Sleep(milliseconds); //return RedirectToAction("Extracted", res); return(View(res)); }
// POST: api/Extract public ActionResult Post() { var httpRequest = HttpContext.Current.Request; var files = httpRequest.Files; var res = new TagDetail(); if (files?.Count > 0) { for (int i = 0; i < files.Count; i++) { var file = files[i]; { var fileName = file.FileName; string filePath = System.IO.Path.GetFileName(fileName); { string fullPath = HttpContext.Current.Server.MapPath("~/File/" + filePath); file.SaveAs(fullPath); var extractedText = Helper.ExtractTextFromPdf(fullPath); var forBank = _bankContext.GetBankDetail(extractedText); var allIdentifiers = _identifierContext.GetAll(); var(noticeTypesName, noticeTypesValue) = _noticeContext.GetTypes(extractedText.ToLower(), allIdentifiers); res.NoticeType = string.Join(",", noticeTypesName); res.FileName = fileName; res.Bank = forBank.Name; res.Tags = new List <Tag>(); foreach (var notice in noticeTypesValue) { var resTags = _tagDetailIdentifierContext.GetTagDetailIdentifier(notice, extractedText.ToLower()); res.Tags.AddRange(resTags); } } } } } return(new JsonResult() { Data = res, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
// GET: Identifier public ActionResult Index() { var res = _identifierContext.GetAll(); return(View(res)); }