public async Task <List <BrewModel> > GetRandomFeaturedBrewsAsync(int number) { Randomizer randomizer = new Randomizer(); int countOfBrews = await brewRepository.CountAsync(); List <BrewModel> featuredBrews = new List <BrewModel>(); if (countOfBrews > 0) { var brews = await brewRepository.GetBrewsAndTheirRelatedEntitiesAsync(false); List <int> randomNumbers = randomizer.ReturnListOfUniqueRandomNumbers(countOfBrews, number); if (countOfBrews > Core.Constants.NumericConstants.MinimumNumberOfFeaturedBrews) { foreach (var brew in randomNumbers) { featuredBrews.Add(brews.ElementAt(brew)); } } else { featuredBrews = brews.Take(NumericConstants.AmountOfFeaturedBrewsInHome).ToList(); } } return(featuredBrews); }