コード例 #1
0
        public IHttpActionResult PutRestaurant(RestaurantsModify restaurantsMod)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!db.Restaurants.Any(x => x.IdRestaurant == restaurantsMod.IdRestaurant))
            {
                return(BadRequest());
            }
            int            cuisineTypeId = db.CuisineTypes.Where(x => x.Name == restaurantsMod.CuisineType).First().IdCuisine;
            RestaurantsObj restoModify   = db.Restaurants.Where(x => x.IdRestaurant == restaurantsMod.IdRestaurant).First();

            restoModify.Name         = restaurantsMod.Name;
            restoModify.Adress       = restaurantsMod.Adress;
            restoModify.PostalCode   = restaurantsMod.PostalCode;
            restoModify.Phone        = restaurantsMod.Phone;
            restoModify.IdCuisine    = cuisineTypeId;
            restoModify.urlThumbnail = restaurantsMod.urlThumbnail;
            restoModify.City         = restaurantsMod.City;
            db.SaveChanges();
            RestaurantsObj finalResto = db.Restaurants.Where(x => x.IdRestaurant == restaurantsMod.IdRestaurant).First();

            return(Ok(TransformObject.TransformRestoObjIntoRestoViewDetails(finalResto, db)));
        }
コード例 #2
0
        public IHttpActionResult DeleteRestaurant(int id)
        {
            RestaurantsObj restaurantsObj = db.Restaurants.Find(id);

            if (restaurantsObj == null)
            {
                return(NotFound());
            }
            db.Restaurants.Remove(restaurantsObj);

            List <ImagesObj> imagesDel = db.Images.Where(x => x.IdRestaurant == id).ToList();

            foreach (var item in imagesDel)
            {
                db.Images.Remove(item);
            }

            List <DishesObj> dishesDel = db.Dishes.Where(x => x.IdRestaurant == id).ToList();

            foreach (var item in dishesDel)
            {
                db.Dishes.Remove(item);
            }
            db.SaveChanges();
            return(Ok(restaurantsObj));
        }
コード例 #3
0
        public IHttpActionResult PostRestaurant(RestaurantsCreate restaurantsC)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            int nb = 0;

            nb = db.CuisineTypes.Where(x => x.Name == restaurantsC.CuisineType).Count();
            if (nb == 0)
            {
                CuisineTypeObj newCui = new CuisineTypeObj
                {
                    Name = restaurantsC.CuisineType
                };
                db.CuisineTypes.Add(newCui);
                db.SaveChanges();
            }
            int            idCuisineType = db.CuisineTypes.Where(x => x.Name == restaurantsC.CuisineType).First().IdCuisine;
            RestaurantsObj newResto      = new RestaurantsObj
            {
                Adress       = restaurantsC.Adress,
                City         = restaurantsC.City,
                IdCuisine    = idCuisineType,
                Name         = restaurantsC.Name,
                Phone        = restaurantsC.Phone,
                PostalCode   = restaurantsC.PostalCode,
                Rating       = 10,
                urlThumbnail = restaurantsC.urlThumbnail
            };

            db.Restaurants.Add(newResto);
            db.SaveChanges();
            int idresto = db.Restaurants.Where(x => x.Name == restaurantsC.Name).First().IdRestaurant;

            foreach (var item in restaurantsC.Plats)
            {
                DishesObj dishe = new DishesObj
                {
                    Name         = item.Name,
                    Price        = item.Price,
                    Pde          = "a",
                    IdRestaurant = idresto
                };

                db.Dishes.Add(dishe);
                db.SaveChanges();
            }
            return(Ok(TransformObject.TransformRestoObjIntoRestoViewDetails(newResto, db)));
        }
コード例 #4
0
ファイル: Tools.cs プロジェクト: SimonDus/FeedMe
        public static void ratingAvg(int id, FeedMeContext context)
        {
            List <RatingsObj> ratingList = context.Ratings.Where(x => x.RestaurantId == id).ToList();
            double            result     = 0;

            foreach (var item in ratingList)
            {
                result += item.Note;
            }
            result = result / ratingList.Count();
            RestaurantsObj restoMaj = context.Restaurants.Where(x => x.IdRestaurant == id).First();

            restoMaj.Rating = result;
            context.SaveChanges();
        }
コード例 #5
0
ファイル: TransformObject.cs プロジェクト: SimonDus/FeedMe
        public static RestaurantsModify TransformRestoObjIntoRestoModify(RestaurantsObj resto, FeedMeContext context)
        {
            string            cuisineTypeName = context.CuisineTypes.Where(x => x.IdCuisine == resto.IdCuisine).First().Name;
            RestaurantsModify restoMod        = new RestaurantsModify
            {
                Adress       = resto.Adress,
                City         = resto.City,
                CuisineType  = cuisineTypeName,
                IdRestaurant = resto.IdRestaurant,
                Name         = resto.Name,
                Phone        = resto.Phone,
                PostalCode   = resto.PostalCode,
                urlThumbnail = resto.urlThumbnail
            };

            return(restoMod);
        }
コード例 #6
0
        public IHttpActionResult GetRestaurantsModify(int?id = -1)
        {
            if (id == null)
            {
                return(NotFound());
            }
            if (id == -1 || !db.Restaurants.Any(x => x.IdRestaurant == id))
            {
                return(NotFound());
            }
            RestaurantsObj resto = db.Restaurants.Where(x => x.IdRestaurant == id).First();

            if (resto.Equals(null))
            {
                return(NotFound());
            }
            RestaurantsModify restoMod = TransformObject.TransformRestoObjIntoRestoModify(resto, db);

            return(Ok(restoMod));
        }
コード例 #7
0
ファイル: TransformObject.cs プロジェクト: SimonDus/FeedMe
        public static RestaurantsViewDetails TransformRestoObjIntoRestoViewDetails(RestaurantsObj resto, FeedMeContext context)
        {
            RestaurantsView        restoV     = TransformRestoObjIntoRestoView(resto, context);
            List <ImagesObj>       imgList    = context.Images.Where(x => x.IdRestaurant == resto.IdRestaurant).ToList();
            List <DishesObj>       dishesList = context.Dishes.Where(x => x.IdRestaurant == resto.IdRestaurant).ToList();
            RestaurantsViewDetails restoD     = new RestaurantsViewDetails
            {
                Adress       = restoV.Adress,
                City         = restoV.City,
                CuisineType  = restoV.CuisineType,
                IdRestaurant = restoV.IdRestaurant,
                Name         = restoV.Name,
                Phone        = restoV.Phone,
                PostalCode   = restoV.PostalCode,
                Rating       = restoV.Rating,
                urlThumbnail = restoV.urlThumbnail,
                Images       = imgList,
                Dishes       = dishesList
            };

            return(restoD);
        }
コード例 #8
0
        public RestaurantsViewDetails GetRestaurantDetails(int id)
        {
            RestaurantsObj resto = db.Restaurants.Where(x => x.IdRestaurant == id).First();

            return(TransformObject.TransformRestoObjIntoRestoViewDetails(resto, db));
        }