private void SaveFrageStatus(FrageViewModel frage) { saveDatabase.InsertOrReplace(new SaveDataViewModel { Id = frage.Id, Status = frage.Status }); }
private void NextQuestion() { if (Aufloesung) { List <AntwortViewModel> selectedAntworten = Frage.Antworten.Where(x => x.Status == AntwortStatus.Selected).ToList(); if (selectedAntworten.Count() == Frage.RichtigeAnzahl) { selectedAntworten.ForEach(x => { if (x.Richtig) { x.Status = AntwortStatus.Right; } else { x.Status = AntwortStatus.Wrong; } }); if (selectedAntworten.TrueForAll(x => x.Status == AntwortStatus.Right)) { ButtonColor = (Color)App.Current.Resources["RightColor"]; if (DatabaseViewModel.Instance.IsWiederholung) { if (Frage.Status != FrageStatus.Bearbeitet) { Frage.Status = FrageStatus.Bearbeitet; } else { Frage.Status = FrageStatus.Richtig; } } else { Frage.Status = FrageStatus.Richtig; } } else { ButtonColor = (Color)App.Current.Resources["WrongColor"]; Frage.Status = FrageStatus.Falsch; } Aufloesung = false; Frage.Antworten.Where(x => x.Richtig).ToList().ForEach(x => x.Status = AntwortStatus.Right); } } else { if (Frage != null) { Frage.Antworten.ToList().ForEach(x => x.Status = AntwortStatus.NotSelected); } List <FrageViewModel> zubearbeitendeFragen = Fragen.Where(x => x.Status != FrageStatus.Richtig).ToList(); if (zubearbeitendeFragen.Any()) { FrageViewModel frageTemp = zubearbeitendeFragen[new Random().Next(0, zubearbeitendeFragen.Count)]; List <AntwortViewModel> antwortenTemp = frageTemp.Antworten.ToList(); frageTemp.Antworten.Clear(); foreach (AntwortViewModel antwortTemp in RandomizeAntworten(antwortenTemp)) { frageTemp.Antworten.Add(antwortTemp); } Frage = frageTemp; Aufloesung = true; SetIsSolveabel(); SetSelectCounter(); } else { Beenden(); } } }