/// <summary> /// Metodo que carga la vista index que muestra los malware subidos por fecha desc. /// </summary> /// <returns></returns> public IActionResult Index() { try { //obtenemos lso malware subidos a la plataforma var model = malwareManager.GetAll().Select(e => new CORE.Malware { Id = e.Id, Name = e.Name, Date = e.Date, FileName = e.FileName, Url = e.Url, MD5 = e.MD5, SHA256 = e.SHA256, MalwareLevel = e.MalwareLevel, MalwareStatus = e.MalwareStatus }); if (model != null) { return(View(model)); } else { TempData["vacio"] = "No se han obtenido muestras subidas a la plataforma"; return(View()); } } catch (Exception ex) { //guardamso log si se produce una excepcion _log.LogError(ex.Message, ex); return(View()); } }
// GET: Home public IActionResult Index() { try { AdminPanelViewModel model = new AdminPanelViewModel { Malware = malwareManager.GetAll().Select(e => new CORE.Malware { Id = e.Id, }).ToList(), ScreenShot = screenShotManager.GetAll().Select(e => new CORE.ScreenShot { Id = e.Id, }).ToList(), Comment = commentManager.GetAll().Select(e => new CORE.Comment { Id = e.Id, }).ToList(), User = _userManager.Users.Select(e => new CORE.ApplicationUser { Id = e.Id, }).ToList() }; return(View(model)); } catch (Exception ex) { //guardamso log si se produce una excepcion _log.LogError(ex.Message, ex); return(View()); } }
public IActionResult MyMalware() { try { var model = malwareManager.GetAll().Where(e => e.User_Id == User.FindFirstValue(ClaimTypes.NameIdentifier)).ToList(); if (model != null) { return(View(model)); } else { return(View()); } } catch (Exception ex) { _logger.LogError(ex.Message, ex); return(RedirectToAction("Index")); } }
/// <summary> /// Metodo que carga la imagen a editar /// </summary> /// <param name="id">id de screenshot</param> /// <returns>vista</returns> public IActionResult Edit(int id) { try { //verificamos que el id no este vacio if (id != 0) { //obtenemos el malware var img = screenShotManager.GetById(id); //si elmalware no esta vacio generamos el model if (img != null) { //Obtenemos los usuarios y los pasamos a una lista var mal = malwareManager.GetAll().Select(e => new Malware { Id = e.Id, FileName = e.FileName, }).ToList(); var malList = new List <SelectListItem>(); foreach (var item in mal) { malList.Add(new SelectListItem { Text = item.FileName, Value = item.Id.ToString() }); } //creamos modelo para pasarlo a ala vista var model = new ScreenShotEditViewModel { ScreenShot = { Id = img.Id, Malware_Id = img.Malware_Id, Malware = img.Malware, PathFile = img.PathFile }, Malware = malList }; return(View(model)); } //si el malware no existe redirigimos a index else { return(RedirectToAction("Index")); } } else { return(RedirectToAction("Index")); } } catch (Exception ex) { //guardamos log si se produce excepcion _log.LogError(ex.Message, ex); return(RedirectToAction("Index")); } }
/// <summary> /// metodo que devuelve la vista con los detalles del malware /// </summary> /// <param name="id">md5 del malware</param> /// <returns>vista</returns> public IActionResult Index(string id) { try { //revisamos que el parametro no este vacio if (id != null) { //desde el parametro obetenmos el malware asociaso var malware = malwareManager.GetByMd5(id); malId = malware.Id; if (malware != null) { if (malware.MalwareStatus != CORE.Status.Finalizado) { return(RedirectToAction("Status", malware)); } //creamos el modelo de datos de la vista AnalysisIndexViewModel model = new AnalysisIndexViewModel { Malware = malwareManager.GetAll().Where(p => p.MD5 == id).Select(e => new CORE.Malware { Id = malware.Id, User_Id = malware.User_Id, Date = malware.Date, MD5 = malware.MD5, SHA256 = malware.SHA256, FileName = malware.FileName, FilePath = malware.FilePath, Name = malware.Name, MalwareLevel = malware.MalwareLevel, MalwareStatus = malware.MalwareStatus, Url = malware.Url }).FirstOrDefault(), Screenshots = screenShotManager.GetAll().Where(p => p.Malware_Id == malware.Id).Select(e => new CORE.ScreenShot { Id = e.Id, Malware_Id = e.Malware_Id, PathFile = e.PathFile, }).ToList(), Comments = commentManager.GetAll().Where(c => c.Malware_Id == malware.Id).Select(e => new CORE.Comment { Id = e.Id, User = e.User, User_Id = e.User_Id, Malware_Id = e.Malware_Id, TextComment = e.TextComment, }).ToList(), VTInfo = virusTotalManager.GetAll().Where(v => v.Malware_Id == malware.Id).Select(e => new CORE.VirusTotal.VirusTotalInfo { Id = e.Id, Malware_Id = e.Malware_Id, Positives = e.Positives, Total = e.Total, MD5 = e.MD5 }).SingleOrDefault(), CuckooInfo = cuckooInfoManager.GetAll().Where(v => v.Malware_Id == malware.Id).Select(e => new CORE.Cuckoo.CuckooInfo { Id = e.Id, Malware = e.Malware, Malware_Id = e.Malware_Id, Score = e.Score, Package = e.Package, Category = e.Category, MD5 = e.MD5 }).SingleOrDefault(), TCInfo = threatCrowdInfoManager.GetAll().Where(v => v.Malware_Id == malware.Id).Select(e => new CORE.ThreatCrowd.ThreatCrowdInfo { Id = e.Id, Malware_Id = e.Malware_Id, Type = e.Type, Votes = e.Votes, Permalink = e.Permalink }).SingleOrDefault(), }; // devolvemos la vista con el modelo de datos return(View(model)); } else { // return(RedirectToAction("Error")); } } else { //TODO return(RedirectToAction("Index", "Malware")); } } catch (Exception ex) { //guardamso log si se produce una excepcion _log.LogError(ex.Message, ex); return(RedirectToAction("Index", "Malware")); } }