public ActionResult ChooseProfession(SimProfessionViewModel simProfession) { Exercise exercise = new Exercise { SimID = simProfession.Sim.SimID, ProfessionID = simProfession.ProfessionID, Level = 1 }; exercise.Sim = repository.Sims .FirstOrDefault(s => s.SimID == exercise.SimID); exercise.Profession = repository.Professions .FirstOrDefault(p => p.ProfessionID == exercise.ProfessionID); if (ModelState.IsValid) { repository.SaveExercise(exercise); TempData["message"] = $"{exercise.Sim.Name} is now a level 1 {exercise.Profession.Name}"; return(RedirectToAction("Index")); } else { //if enters here there is something wrong with the data values return(View(simProfession)); } }
public ViewResult ChooseProfession(Guid id) { SimProfessionViewModel simProfession = new SimProfessionViewModel { Sim = repository.Sims.FirstOrDefault(s => s.SimID == id) }; Exercise exercise = repository.Exercises .FirstOrDefault(e => e.SimID == simProfession.Sim.SimID); simProfession.Professions = exercise == null ? repository.Professions : repository.Professions.Where(p => p.ProfessionID != exercise.ProfessionID); if (exercise != null) { Profession profession = repository.Professions .FirstOrDefault(p => p.ProfessionID == exercise.ProfessionID); simProfession.CurrentProfessionName = profession.Name; simProfession.Level = exercise.Level; } return(View(simProfession)); }