public ActionResult FinishLearning(string IDList) { UserDatasController UDController = new UserDatasController(); Grammar_PracticeController GPController = new Grammar_PracticeController(); string userName = User.Identity.GetUserName(); var userID = db.UserData.Where(ud => ud.UserName == userName). Select(ud => ud.ID).First(); UserData userData = db.UserData.Find(userID); if (userData.GrammarList == "") { userData.GrammarList += IDList; } else { userData.GrammarList += "," + IDList; } UDController.Edit(userData); List <string> IDtoList = IDList.Split(',').ToList(); foreach (var grammarId in IDtoList) { Grammar_Practice gpData = new Grammar_Practice { UserName = userName, GrammarID = Int32.Parse(grammarId), LastPracticed = DateTime.Now.AddDays(1), RepeatInterval = 1 }; GPController.Create(gpData); } return(RedirectToAction("Index")); }
public ActionResult FinishPracticing(string IDString, string goodString, string okayString, string badString) { List <int> IDList = IDString.Split(',').Select(id => Int32.Parse(id)).ToList(); List <int> GoodList = new List <int>(); List <int> OkayList = new List <int>(); List <int> BadList = new List <int>(); if (goodString != "_Good" && goodString.Contains(',')) { GoodList = goodString.Split(',').Select(id => Int32.Parse(id)).ToList(); } else if (goodString != "_Good") { GoodList.Add(Int32.Parse(goodString)); } if (okayString != "_Okay" && okayString.Contains(',')) { OkayList = okayString.Split(',').Select(id => Int32.Parse(id)).ToList(); } else if (okayString != "_Okay") { OkayList.Add(Int32.Parse(okayString)); } if (badString != "_Bad" && badString.Contains(',')) { BadList = badString.Split(',').Select(id => Int32.Parse(id)).ToList(); } else if (badString != "_Bad") { BadList.Add(Int32.Parse(badString)); } Grammar_PracticeController KPController = new Grammar_PracticeController(); List <Grammar_Practice> grammar_PracticeList = db.Grammar_Practice.Where(gp => IDList.Contains(gp.ID)).ToList(); foreach (var grammarPractice in grammar_PracticeList) { if (grammarPractice.RepeatInterval <= db.RepeatInterval.Count() + 1) { if (GoodList.Contains(grammarPractice.GrammarID)) { grammarPractice.RepeatInterval += 1; double interval = db.RepeatInterval.Where(ri => ri.ID == grammarPractice.RepeatInterval).Select(ri => ri.Interval).First(); grammarPractice.LastPracticed = DateTime.Now.AddDays(interval); //TODO fix multiple instances of EntityChanger db.SaveChanges(); //VPController.Edit(vocabularyPractice); } if (OkayList.Contains(grammarPractice.GrammarID)) { double interval = db.RepeatInterval.Where(ri => ri.ID == grammarPractice.RepeatInterval).Select(ri => ri.Interval).First(); grammarPractice.LastPracticed = DateTime.Now.AddDays(interval); //TODO fix multiple instances of EntityChanger db.SaveChanges(); //VPController.Edit(vocabularyPractice); } if (BadList.Contains(grammarPractice.GrammarID)) { if (grammarPractice.RepeatInterval > 1) { grammarPractice.RepeatInterval -= 1; } double interval = db.RepeatInterval.Where(ri => ri.ID == grammarPractice.RepeatInterval).Select(ri => ri.Interval).First(); grammarPractice.LastPracticed = DateTime.Now.AddDays(interval); //TODO fix multiple instances of EntityChanger db.SaveChanges(); //VPController.Edit(vocabularyPractice); } } } return(RedirectToAction("Index")); }