// maybe usefull to recall start() public void updateAccordindTo(Profile p) { profileSheets = p.getRealSheetList(); Sheet tmp; for (int i = 0; i < profileSheets.Count; i++) { if (availableSheet.Exists(x => x.sheetNumber == profileSheets[i].sheetNumber)) ////means that the student already encountered the sheet once { tmp = availableSheet.Find(x => x.sheetNumber == profileSheets[i].sheetNumber); if (profileSheets[i].getSuccesCount() > 0) //means that the student already succeeded at least once { correctlyAnsweredSheet.Add(tmp); availableSheet.RemoveAt(availableSheet.IndexOf(tmp)); } else if (profileSheets[i].getFailureCount() > 0) { uncorrectlyAnsweredSheet.Add(tmp); availableSheet.RemoveAt(availableSheet.IndexOf(tmp)); } } } changeCurrentSheet(); }