public async void LoadPrincipalPart() { PrincipalPart = await _repository.GetPrincipalPartAsync(PrincipalPartId); Suffixes = await _suffixRepository.GetSuffixsAsync(); NonFiniteSuffixes = await _nonFiniteSuffixRepository.GetNonFiniteSuffixsAsync(); Passives = await _passiveRepository.GetPassivesAsync(); VerbalNounSuffixes = await _verbalNounSuffixRepository.GetVerbalNounSuffixsAsync(); VerbalNounManager verbalNounManager = new VerbalNounManager(PrincipalPart, VerbalNounSuffixes); VerbalNouns = new ObservableCollection <VerbalNoun>(); Gerund = verbalNounManager.CreateVerbalNoun(PrincipalPart.Conjugation, "Gerund"); VerbalNouns.Add(Gerund); Supine = verbalNounManager.CreateVerbalNoun(PrincipalPart.Conjugation, "Supine"); VerbalNouns.Add(Supine); FormManager formManager = new FormManager(PrincipalPart, NonFiniteSuffixes); Forms = new ObservableCollection <Form>(); InfinitiveForm = new Form("Infinitive"); InfinitiveForm.Indicative_Active = formManager.CreateNonFiniteForm(PrincipalPart.Conjugation, "Indicative", "Infinitive", false); InfinitiveForm.Indicative_Passive = formManager.CreateNonFiniteForm(PrincipalPart.Conjugation, "Indicative", "Infinitive", true, PrincipalPart.SpecialPassiveInfinitive); Forms.Add(InfinitiveForm); ParticipleForm = new Form("Participle"); ParticipleForm.Indicative_Active = formManager.CreateNonFiniteForm(PrincipalPart.Conjugation, "Indicative", "Participle", false); ParticipleForm.Indicative_Passive = formManager.CreateNonFiniteForm(PrincipalPart.Conjugation, "Indicative", "Participle", true); Forms.Add(ParticipleForm); TenseManager tenseManager = new TenseManager(PrincipalPart, Suffixes, Passives); PresentTense = new Tense("Present"); PresentTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Present", false); PresentTense.Subjunctive_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Present", false); PresentTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Present", true); PresentTense.Subjunctive_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Present", true); FutureTense = new Tense("Future"); FutureTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future", false); FutureTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future", true); ImperfectTense = new Tense("Imperfect"); ImperfectTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Imperfect", false); ImperfectTense.Subjunctive_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Imperfect", false); ImperfectTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Imperfect", true); ImperfectTense.Subjunctive_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Imperfect", true); PerfectTense = new Tense("Perfect"); PerfectTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Perfect", false); PerfectTense.Subjunctive_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Perfect", false); PerfectTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Perfect", true); PerfectTense.Subjunctive_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Perfect", true); PluperfectTense = new Tense("Pluperfect"); PluperfectTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Pluperfect", false); PluperfectTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Pluperfect", true); PluperfectTense.Subjunctive_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Pluperfect", false); PluperfectTense.Subjunctive_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Subjunctive", "Pluperfect", true); FuturePerfectTense = new Tense("Future Perfect"); FuturePerfectTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future Perfect", false); FuturePerfectTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future Perfect", true); PresentImperativeTense = new Tense("Present Imperative"); PresentImperativeTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Present Imperative", false); PresentImperativeTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Present Imperative", true); FutureImperativeTense = new Tense("Future Imperative"); FutureImperativeTense.Indicative_Active = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future Imperative", false); FutureImperativeTense.Indicative_Passive = tenseManager.CreateInflection(PrincipalPart.Conjugation, "Indicative", "Future Imperative", true); Tenses = new ObservableCollection <Tense>(); Tenses.Add(PresentTense); Tenses.Add(ImperfectTense); Tenses.Add(FutureTense); Tenses.Add(PerfectTense); Tenses.Add(PluperfectTense); Tenses.Add(FuturePerfectTense); Tenses.Add(PresentImperativeTense); Tenses.Add(FutureImperativeTense); }