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 TheEndModel FindWhoIsTheKiller(ScenarioModel scenario, List <Witness> lWitness) { if (scenario == null || scenario.Guns.Count == 0 || scenario.Suspects.Count == 0 || scenario.Locals.Count == 0) { return(null); } TheEndModel theEnd = new TheEndModel(); List <Killer> lKillers = new List <Killer>(); detective.Guesses = new List <Killer>(); for (int i = 0; i < lWitness.Count(); i++) { killer = null; FindTheKiller(0, 0, 0, lWitness[i], scenario); lKillers.Add(killer); } theEnd.Killers = lKillers; theEnd.Detective = detective; return(theEnd); }