private void AddNoun(Word.Gender gender) { if (string.IsNullOrEmpty(tbWords.Text)) { return; } AddGenericWord(tbWords.Text, Word.SpeechPart.Noun, gender); tbWords.Text = string.Empty; }
private void DerDieDasOption(Word.Gender gender) { if (ActiveNoun == null) { textError.Visibility = Visibility.Visible; return; } nounTries++; int trySucc = 0, tryTot = 1; if (gender == ActiveNoun.Gen) { nounCorrect++; textSuccess.Foreground = new SolidColorBrush(Windows.UI.Colors.Green); textSuccess.Text = $"Correct: {ActiveNoun.SingularCaption}"; trySucc++; Tuple <int, int> tries; if (nounStats.TryGetValue(ActiveNoun.ID, out tries)) { trySucc += tries.Item1; tryTot += tries.Item2; } } else { textSuccess.Foreground = new SolidColorBrush(Windows.UI.Colors.Red); textSuccess.Text = $"Error: {ActiveNoun.SingularCaption}"; Tuple <int, int> tries; if (nounStats.TryGetValue(ActiveNoun.ID, out tries)) { trySucc += tries.Item1; tryTot += tries.Item2; } } nounStats[ActiveNoun.ID] = new Tuple <int, int>(trySucc, tryTot); textNounStats.Text = $"{ActiveNoun.SingularCaption}: {trySucc} correct from {tryTot} tries"; textSessionStats.Text = $"{nounCorrect} correct from {nounTries} tries"; UpdateSelectedNoun(); }
private async void AddGenericWord(string text, Word.SpeechPart part, Word.Gender gender) { if (string.IsNullOrEmpty(text)) { return; } var translation = text.Split('='); if (translation.Length != 2) { AddErrorMessage("Please provide a translation"); return; } var germanForms = translation[0].Trim(); var translatedForm = translation[1].Trim(); var sep = ",;".ToCharArray(); var parts = germanForms.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 1) { AddErrorMessage("Need to provide singular and plural"); return; } var s = parts[0].Trim(); var p = (parts.Length > 1)? parts[1].Trim() : ""; if (part != Word.SpeechPart.Expression) { s = s.ToLower(); p = p.ToLower(); } if (part == Word.SpeechPart.Noun) { s = s.ToUpper()[0] + s.Substring(1).ToLower(); p = p.ToUpper()[0] + p.Substring(1).ToLower(); } using (var db = new ApplicationDbContext()) { var lesson = GetCurrentLesson(db); var slower = s.ToLower(); var duplicateWord = db.words.Where(x => x.German.ToLower() == slower).FirstOrDefault(); if (duplicateWord != null) { var duplicateLesson = db.lessons.Where(x => x.ID == duplicateWord.LessonId).FirstOrDefault(); bool ret = await DisplayDuplicateWordDialog(duplicateLesson.Title, duplicateWord.Translation); if (!ret) { return; } } if (lesson != null) { Word noun = new Word { SpeechType = part, Gen = gender, German = s, Plural = p, Translation = translatedForm, LessonId = lesson.ID }; var entry = db.words.Add(noun); db.SaveChanges(); UpdateCurrentLesson(db); } } }