public ActionResult SaveWord(TestWordModel model) { // sätter testId som samma id från modellen int testId = model.TestId; // sparar orden i db using (GlossaryModel db = new GlossaryModel()) { try { Word word = model.AddWord; word.TestId = model.TestId; db.Words.Add(word); db.SaveChanges(); } catch (Exception e) { // loggar eventuellt error logger.Error(e, "Unable to save in database"); } } // redirectar till samma sida och skickar med samma testId så att användaren fortfarande är i samma test return(RedirectToAction("CreateWords", "Words", new { id = testId })); }
// tar in id som en inparameter från det skapade testet public ActionResult CreateWords(int id) { // gör en ny instans av modellen för att lägga till ord TestWordModel model = new TestWordModel(); using (GlossaryModel db = new GlossaryModel()) { // hämtar testet från db med samma id som skickades med som parameter Test test = (from t in db.Tests where t.Id == id select t).FirstOrDefault(); // skapar en lista av ord som tillhör samma testId List <Word> words = (from w in db.Words where w.TestId == id select w).ToList(); // sätter alla värden och skickar med modellen till vyn model.TestId = id; model.Name = test.Name; model.MainLang = test.MainLang; model.SecLang = test.SecLang; model.AddWord = new Word(); model.AddWord.Word1 = string.Empty; model.AddWord.Word2 = string.Empty; model.Words = words; model.LangOne = test.Language.Language1; model.LangTwo = test.Language1.Language1; } // reurnerar modellen till vyn return(View(model)); }