Exemple #1
0
        public ActionResult <IEnumerable <Dish> > DishesByNutrient(string nutrientName)
        {
            var list = _mongoDBConnector.GetDishesByNutrient(nutrientName);

            if (list is null || !list.Any())
            {
                return(NotFound("Dish not found"));
            }

            return(new JsonResult(list));
        }
Exemple #2
0
        public ActionResult <Farmer> FarmerByNutrient(string nutrient)
        {
            var result = _mongoDBConnector.GetDishesByNutrient(nutrient);

            if (result is null)
            {
                return(NotFound("Could not find farmer that produces nutrient"));
            }

            return(new JsonResult(result));
        }
Exemple #3
0
        public ActionResult GetGastronomyByNutrient(string nutrientID)
        {
            List <MergedGastronomy> list = new List <MergedGastronomy>();


            var dishesContainingNutrient   = _mongoDBConnector.GetDishesByNutrient(nutrientID);
            var dishesIDContainingNutrient = dishesContainingNutrient.Select(x => x.ID).ToList();

            foreach (var dish in dishesContainingNutrient)
            {
                var gastronomies = _mongoDBConnector.GetGastronomiesByDishId(dish.ID.ToString());
                foreach (var g in gastronomies)
                {
                    var     openDataGastronomy     = _openDataHupConnector.GetGastronomyByID(g.ForeignID);
                    JObject openDataGastronomyJson = (JObject)JsonConvert.DeserializeObject(openDataGastronomy);

                    MergedGastronomy mergedGastronomy = mapper.Map <MergedGastronomy>(g);

                    mergedGastronomy.Name    = openDataGastronomyJson["Detail"]["en"]["Title"].ToString();
                    mergedGastronomy.ZipCode = openDataGastronomyJson["ContactInfos"]["en"]["Address"].ToString();
                    mergedGastronomy.ZipCode = openDataGastronomyJson["ContactInfos"]["en"]["ZipCode"].ToString();
                    if (openDataGastronomyJson["ImageGallery"] != null && openDataGastronomyJson["ImageGallery"].Count() > 0)
                    {
                        mergedGastronomy.ImageUrl = openDataGastronomyJson["ImageGallery"].FirstOrDefault()["ImageUrl"].ToString();
                    }

                    mergedGastronomy.Position = new Position()
                    {
                        Altitude  = Convert.ToInt32(openDataGastronomyJson["Altitude"]),
                        Latitude  = Convert.ToDouble(openDataGastronomyJson["Latitude"]),
                        Longitude = Convert.ToDouble(openDataGastronomyJson["Longitude"])
                    };
                    mergedGastronomy.DishesContainingNutrient = new List <string>();

                    foreach (var id in mergedGastronomy.Dishes)
                    {
                        if (dishesIDContainingNutrient.Contains(id))
                        {
                            mergedGastronomy.DishesContainingNutrient.Add(_mongoDBConnector.GetDishById(id.ToString()).Name);
                        }
                    }

                    list.Add(mergedGastronomy);
                }
            }


            return(new JsonResult(list));
        }