public ActionResult Finish() { ScenarioModel scenario = this.TempData["Scenario"] != null ? (ScenarioModel)this.TempData["Scenario"] : null; List <Witness> witness = this.TempData["Witness"] != null ? (List <Witness>) this.TempData["Witness"] : null; TheEndModel theEnd = new TheEndModel(); try { theEnd = ChallengeSolverBusiness.GetInstance().FindWhoIsTheKiller(scenario, witness); } catch (Exception e) { Error("Assassino não encontrado!"); return(View(theEnd)); } if (theEnd == null || theEnd.Killers == null || theEnd.Killers.Count == 0) { Error("Assassino não encontrado!"); } else { Success("Assassino(s) encontrado(s)!"); } return(View(theEnd)); }
public ActionResult Init(HttpPostedFileBase fileData, HttpPostedFileBase fileWitness) { ScenarioModel scenario = new ScenarioModel(); List <Witness> witness = new List <Witness>(); if (fileData != null && fileData.ContentLength > 0) { scenario = ChallengeSolverBusiness.GetInstance().DeserializeJsonFileScenario(fileData.InputStream); this.TempData["Scenario"] = scenario; } else { Error("Arquivo de cenário inválido!"); return(View(scenario)); } if (fileWitness != null && fileWitness.ContentLength > 0) { witness = ChallengeSolverBusiness.GetInstance().DeserializeJsonFileWitness(fileWitness.InputStream, scenario); if (witness == null || witness.Count == 0) { Error("Arquivo de vitímas inválido!"); return(View(scenario)); } else { scenario.Witness = witness; this.TempData["Witness"] = witness; } } else { Error("Arquivo de vitímas inválido!"); return(View(scenario)); } Success("Arquivo carregado com sucesso!"); return(View(scenario)); }