public IEnumerable <Recipe> GetAllRecipes()
        {
            var user        = User;
            var ingredients = user.Dislikes.Select(s => s.Ingredient);

            var    acceptLanguages = Request.Headers.AcceptLanguage.FirstOrDefault();
            string language        = acceptLanguages == null ? "nl-BE" : acceptLanguages.Value;

            IEnumerable <Recipe> recipes = _recipeRepository
                                           .FindRecipesWithoutIngredients(ingredients)
                                           .TakeRandom(5)
                                           .ToList();

            recipes.ToList().ForEach(r => _languageProvider.Register(r));

            _languageProvider.Translate(language);
            return(recipes.ToList());
        }
예제 #2
0
        public IHttpActionResult GetRestaurant(int id)
        {
            var restaurant = _restaurantRepository.Restaurants.FirstOrDefault(r => r.RestaurantId == id);

            if (restaurant == null)
            {
                return(BadRequest($"Restaurant with id {id} was not found."));
            }
            _languageProvider.Register(restaurant);
            _languageProvider.Translate(Language);
            return(Ok(restaurant));
        }
예제 #3
0
        /// <summary>
        /// Returns all the information about a challenge that a user has.
        /// </summary>
        /// <param name="id">The challengeid</param>
        /// <returns>The requested challenge, with all the information</returns>
        public IHttpActionResult GetChallenge(int id)
        {
            var    acceptLanguages = Request.Headers.AcceptLanguage.FirstOrDefault();
            string language        = acceptLanguages == null ? "nl-BE" : acceptLanguages.Value;

            var challenge = User.Challenges.FirstOrDefault(c => c.ChallengeId == id);

            if (challenge == null)
            {
                return(BadRequest($"Challenge with {id} was not found for this user."));
            }

            _languageProvider.Register(challenge);
            _languageProvider.Translate(language);

            return(Ok(challenge));
        }