public DB_WordElementViewModel(DB_Word dbWordElement, IEnumerable <DB_WeightedWord> weightedWords) { DB_Word = dbWordElement; WeightedWords = weightedWords; DefaultWeightedWord = WeightedWords.Single(weightedWord => DB_Word.DefaultWeightedWord.Equals(weightedWord.ID)); actual.AddRange(WeightedWords.Where(weightedWord => weightedWord.ID != DB_Word.DefaultWeightedWord)); Choices = WordChoicesFor(DB_Word); Pivot = DB_Word.DefaultForm; }
private DB_WordElementViewModel ViewModelFor(DB_Word wordElement) => new DB_WordElementViewModel(wordElement, FlexData.Context.DB_WeightedWords.Where(weightedWord => weightedWord.WordElement.Equals(wordElement.ID)));
/// <summary>Return a WordChoices view model of the appropriate type to edit <paramref name="dbWordElement"/>.</summary> private static WordChoices WordChoicesFor(DB_Word dbWordElement) => dbWordElement.WordType switch { (byte)FlexData.WordType.Noun => new NounChoices(),