public ActionResult Invoke(FileExtractionViewModel viewModel) { if (ModelState.IsValid) { try { string protocol = "\"http://"; if (Request.IsSecureConnection) { protocol = "\"https://"; } string url = protocol + Request.Headers["Host"] + "/forensics/file-extraction/receiver\""; PSRemoting ps = new PSRemoting(viewModel.ComputerName, config.FALCON_FORENSICS_USERNAME, config.FALCON_FORENSICS_PASSWORD, config.FALCON_FORENSICS_DOMAIN); FileExtraction extraction = new FileExtraction(ps); Dictionary <string, string> mapper = new Dictionary <string, string>(); mapper.Add("{{FilePath}}", "\"" + viewModel.FilePath + "\""); mapper.Add("{{URL}}", url); var model = GetFileMetadata(mapper, extraction); this.UploadFile(mapper, extraction); ViewBag.FileName = viewModel.FilePath.Split('\\').Last(); return(PartialView("~/Areas/Forensics/Views/FileExtraction/_DownloadLink.cshtml", model)); } catch (Exception e) { ModelState.AddModelError(String.Empty, e.Message); } } List <string> errors = ModelState.Where(x => x.Value.Errors.Count > 0).SelectMany(x => x.Value.Errors).Select(x => x.ErrorMessage).ToList(); return(PartialView("_ValidationError", errors)); }
protected override void OnInitialized(EventArgs e) { ViewModel = (FileExtractionViewModel)DataContext; this.Loaded += FileExtractionWindow_Loaded; base.OnInitialized(e); }