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); }
public List <ProducedModel> GetProducedGoods() { List <ProducedModel> produced = new List <ProducedModel>(); var brews = brewRepository.GetBrewsAndTheirRelatedEntitiesAsync(false).Result; foreach (var brew in brews) { int avaible = brew.Recipes.Any() ? CountMaxProduction(brew.Recipes) : 0; produced.Add(new ProducedModel() { BrewId = brew.BrewId, Avaible = avaible, Name = brew.Name, ResourceNames = brew.Recipes.Select(x => x.ResourceName).ToList(), }); } return(produced); }