Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public IActionResult Edit(IrregularVerb verb)
 {
     if (ModelState.IsValid)
     {
         db.IrregularVerbs.Update(verb);
         db.SaveChanges();
         return(RedirectToAction(nameof(Index)));
     }
     return(View(verb));
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public void addIrregularVerb(IrregularVerb iv)
 {
     irregularVerbs.Add(iv);
 }