Exemple #1
0
        private async Task <List <string> > FindUniqueWordsAsync(IWordsRepository wordsRepository, List <string> words)
        {
            var skip        = 0;
            var take        = 100;
            var n           = words.Count;
            var uniqueWords = new List <string>();

            while (skip < n)
            {
                var wordsPart = words
                                .Skip(skip)
                                .Take(take)
                                .ToList();

                var foundWords = await wordsRepository.FindAsync(wordsPart);

                var uniqueWordsPart = wordsPart
                                      .Except(foundWords.Select(wi => wi.Word));

                uniqueWords.AddRange(uniqueWordsPart);

                skip += take;
            }

            return(uniqueWords);
        }