public QuestionBuilderParameters() { this.correctChoicesHistory = PackListHistory.RepeatWhenFull; this.wrongChoicesHistory = PackListHistory.RepeatWhenFull; this.useJourneyForCorrect = true; this.useJourneyForWrong = false; this.correctSeverity = SelectionSeverity.MayRepeatIfNotEnough; this.wrongSeverity = SelectionSeverity.MayRepeatIfNotEnough; this.letterFilters = new LetterFilters(); this.wordFilters = new WordFilters(); this.phraseFilters = new PhraseFilters(); }
private bool CheckFilters(WordFilters wordFilters, PhraseFilters phraseFilters, PhraseData data) { // Words are checked with filters. At least 1 must fulfill the requirement. var words = GetWordsInPhrase(data, wordFilters); int nOkWords = words.Count; var answers = GetAnswersToPhrase(data, wordFilters); int nOkAnswers = answers.Count; var wordsInPhraseText = GetWordsFromPhraseText(data, wordFilters); if (phraseFilters.maxLength != 0 && data.Text.Length > phraseFilters.maxLength) { return(false); } if (phraseFilters.maxWords != 0 && wordsInPhraseText.Count > phraseFilters.maxWords) { return(false); } if (phraseFilters.requireWords && nOkWords == 0) { return(false); } if (phraseFilters.requireAtLeastTwoWords && nOkWords <= 1) { return(false); } if (phraseFilters.requireAnswersOrWords && nOkAnswers == 0 && nOkWords == 0) { return(false); } return(true); }
private bool CheckFilters(WordFilters wordFilters, PhraseFilters phraseFilters, PhraseData data) { // Words are checked with filters. At least 1 must fulfill the requirement. var words = GetWordsInPhrase(data, wordFilters); int nOkWords = words.Count; var answers = GetAnswersToPhrase(data, wordFilters); int nOkAnswers = answers.Count; if (phraseFilters.requireWords && (nOkWords == 0)) { return(false); } if (phraseFilters.requireAtLeastTwoWords && (nOkWords <= 1)) { return(false); } if (phraseFilters.requireAnswersOrWords && (nOkAnswers == 0 && nOkWords == 0)) { return(false); } return(true); }
public List <PhraseData> GetPhrasesNotIn(WordFilters wordFilters, PhraseFilters phraseFilters, params PhraseData[] tabooArray) { var tabooList = new List <PhraseData>(tabooArray); return(dbManager.FindPhraseData(x => !tabooList.Contains(x) && CheckFilters(wordFilters, phraseFilters, x))); }
public List <PhraseData> GetPhrasesByCategory(PhraseDataCategory choice, WordFilters wordFilters, PhraseFilters phraseFilters) { return(dbManager.FindPhraseData(x => x.Category == choice && CheckFilters(wordFilters, phraseFilters, x))); }
public List <PhraseData> GetAllPhrases(WordFilters wordFilters, PhraseFilters phraseFilters) { return(dbManager.FindPhraseData(x => CheckFilters(wordFilters, phraseFilters, x))); }