public IHttpActionResult CreateMeals(MealsBindingModel m)
        {
            if (!ModelState.IsValid)
                return this.BadRequest();

            if (!this.Data.Restaurants.Any(r => r.Id == m.RestaurantId)) //!!!
                return this.BadRequest();

            var uId = User.Identity.GetUserId();

            if (this.Data.Restaurants.FirstOrDefault(r => r.Id == m.RestaurantId).OwnerId != uId)
                return this.Unauthorized();

            var meal = new Meal
            {
                Name = m.Name,
                RestaurantId = m.RestaurantId,
                Price = m.Price,
                TypeId = m.TypeId,
                Type = this.Data.MealTypes.FirstOrDefault(mt => mt.Id == m.TypeId) // for some reason it doesnt set itself.
            };

            this.Data.Meals.Add(meal);

            this.Data.SaveChanges();

            return this.Created("http://localhost:1337/api/meals/" + meal.Id, new
            {
                meal.Name,
                meal.RestaurantId,
                meal.Price,
                Type = meal.Type.Name
            });
        }
示例#2
0
        public IHttpActionResult CreateMeals(MealsBindingModel m)
        {
            if (!ModelState.IsValid)
            {
                return(this.BadRequest());
            }

            if (!this.Data.Restaurants.Any(r => r.Id == m.RestaurantId)) //!!!
            {
                return(this.BadRequest());
            }

            var uId = User.Identity.GetUserId();

            if (this.Data.Restaurants.FirstOrDefault(r => r.Id == m.RestaurantId).OwnerId != uId)
            {
                return(this.Unauthorized());
            }

            var meal = new Meal
            {
                Name         = m.Name,
                RestaurantId = m.RestaurantId,
                Price        = m.Price,
                TypeId       = m.TypeId,
                Type         = this.Data.MealTypes.FirstOrDefault(mt => mt.Id == m.TypeId) // for some reason it doesnt set itself.
            };

            this.Data.Meals.Add(meal);

            this.Data.SaveChanges();

            return(this.Created("http://localhost:1337/api/meals/" + meal.Id, new
            {
                meal.Name,
                meal.RestaurantId,
                meal.Price,
                Type = meal.Type.Name
            }));
        }