public IHttpActionResult PostRestaurant(RestaurantBindingModel restaurant) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!User.Identity.IsAuthenticated) { return(Unauthorized()); } var currentUserId = User.Identity.GetUserId(); var currentUser = db.Users.Find(currentUserId); Restaurant newRestaurant = new Restaurant() { Name = restaurant.Name, Town = db.Towns.Find(int.Parse(restaurant.TownId)), TownId = int.Parse(restaurant.TownId), Owner = currentUser, OwnerId = currentUserId }; db.Restaurants.Add(newRestaurant); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { controller = "restaurants", id = newRestaurant.Id }, new RestaurantViewModel() { Id = newRestaurant.Id, Name = newRestaurant.Name, Rating = null, Town = new TownViewModel() { Id = newRestaurant.Town.Id, Name = newRestaurant.Town.Name } })); }
public IHttpActionResult PostMeal(MealBindingModel mealModel) { if (!ModelState.IsValid) { return(BadRequest()); } if (!db.Restaurants.All().Any(r => r.Id == mealModel.RestaurantId)) { return(BadRequest()); } if (!User.Identity.IsAuthenticated) { return(Unauthorized()); } Meal newMeal = new Meal() { Name = mealModel.Name, Price = mealModel.Price, Restaurant = db.Restaurants.Find(mealModel.RestaurantId), RestaurantId = mealModel.RestaurantId, Type = db.MealTypes.Find(mealModel.TypeId), TypeId = mealModel.TypeId }; db.Meals.Add(newMeal); db.SaveChanges(); return(CreatedAtRoute( "DefaultApi", new { id = newMeal.Id }, new MealViewModel() { Id = newMeal.Id, Name = newMeal.Name, Price = newMeal.Price, Type = newMeal.Type.Name })); }