public IActionResult Create(IrregularVerb verb) { if (ModelState.IsValid) { var find_verb = db.IrregularVerbs.FirstOrDefault(v => v.Infinitive == verb.Infinitive); var find_word = db.Words.FirstOrDefault(w => w.WordEng == verb.Infinitive); if (find_verb == null) { db.IrregularVerbs.Add(verb); var word = new Word() { WordEng = verb.Infinitive, WordRu = verb.TranslateRu }; db.Words.Add(word); db.SaveChanges(); return(RedirectToAction(nameof(Index))); } else { find_verb.PastSimple = verb.PastSimple; find_verb.PastParticiple = verb.PastParticiple; find_verb.TranslateRu = verb.TranslateRu; db.IrregularVerbs.Update(find_verb); db.SaveChanges(); return(RedirectToAction(nameof(Index))); } } return(View(verb)); }
public IActionResult Edit(IrregularVerb verb) { if (ModelState.IsValid) { db.IrregularVerbs.Update(verb); db.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(verb)); }
static string FirstPersonIndicativeStem(string infinitive) { string stem = infinitive.Substring(0, infinitive.Length - 2); Tense t = Tenses.Find(o => o.conjugation == Conjugation.Present); IrregularVerb iv = t.irregularVerbs.Find(o => o.m_infinitive == infinitive); if (iv != null) { IrregularConjugation c = iv.m_conjugations.Find(o => o.m_person == Person.firstPersonSingular); stem = c.m_conjugatedVerb.Substring(0, c.m_conjugatedVerb.Length - 1); } return(stem); }
static string ThirdPersonPluralPreteriteStem(string infinitive) { string stem = infinitive.Substring(0, infinitive.Length - 2); Tense t = Tenses.Find(o => o.conjugation == Conjugation.Preterite); IrregularVerb iv = t.irregularVerbs.Find(o => o.m_infinitive == infinitive); if (iv != null) { IrregularConjugation c = iv.m_conjugations.Find(o => o.m_person == Person.thirdPersonPlural); stem = c.m_conjugatedVerb.Substring(0, c.m_conjugatedVerb.Length - 2); } return(stem); }
static string conjugateIrregularVerb(string infinitive, PersonalPronoun pronoun, Conjugation conjugation) { string conjugatedVerb = null; Tense tense = Tenses.Find(o => o.conjugation == conjugation); List <IrregularVerb> irregularVerbs = tense.irregularVerbs; // not guaranteed to find IrregularVerb v = irregularVerbs.Find(o => o.m_infinitive == infinitive); if (v != null) { // guaranteed to find IrregularConjugation c = v.m_conjugations.Find(o => o.m_person == pronoun.person); conjugatedVerb = c.m_conjugatedVerb; } return(conjugatedVerb); }
public void addIrregularVerb(IrregularVerb iv) { irregularVerbs.Add(iv); }