public ActionResult SearchFiles(FileSearcherViewModel model) { if(!ModelState.IsValid) { return View(model); } var searcher = new FileSearcher(); if (!string.IsNullOrEmpty(model.FileSearcherId)) { FileSearchContainer.AddSearcher(model.FileSearcherId, searcher); } try { var result = searcher.SearchFiles(new FileSearcherQuery { SearchString = model.SearchString, TargetDirectory = model.Directory }); model.Files = result.Files.Select(x => x.FullName); } catch (Exception ex) { return RedirectToAction("BadRequest", "Error"); } finally { if (!string.IsNullOrEmpty(model.FileSearcherId)) { FileSearchContainer.RemoveSearcher(model.FileSearcherId); } } return View(model); }
// // GET: /Home/ public ActionResult Index() { var id = Guid.NewGuid().ToString("n"); var model = new FileSearcherViewModel { FileSearcherId = id }; return View("SearchFiles",model); }