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)); }