示例#1
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)));
        }
 public void ClearDb()
 {
     using (var context = new FeedMeContext(options))
     {
         context.Detail.RemoveRange(context.Detail);
         context.SaveChanges();
     };
 }
示例#3
0
        public IHttpActionResult AddRating(int note, int idResto, int userId)
        {
            if (note < 0 && note > 10)
            {
                return(NotFound());
            }
            if (db.Ratings.Any(x => x.RestaurantId == idResto && x.UserId == userId))
            {
                return(NotFound());
            }
            RatingsObj rating = new RatingsObj
            {
                Note         = note,
                RestaurantId = idResto,
                UserId       = userId
            };

            db.Ratings.Add(rating);
            db.SaveChanges();
            Tools.ratingAvg(idResto, db);
            return(Ok());
        }
示例#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();
        }
        public void SetupDb()
        {
            using (var context = new FeedMeContext(options))
            {
                Detail memeItem1 = new Detail()
                {
                    Title = memeTitles[0]
                };

                Detail memeItem2 = new Detail()
                {
                    Title = memeTitles[1]
                };

                context.Detail.Add(memeItem1);
                context.Detail.Add(memeItem2);
                context.SaveChanges();
            }
        }