public async Task <ActionResult <IEnumerable <RecipeDTO> > > GetRecipes() { //return await _context.Recipe.ToListAsync(); var recipes = await recipeRepo.GetAllAsync(); foreach (Recipe r in recipes) { var categories = await categoryRepo.GetByExpressionAsync(c => c.Id == r.CategoryId); r.Category = categories.First(); } var recipesDTO = mapper.Map <IEnumerable <RecipeDTO> >(recipes); return(Ok(recipesDTO)); }
public async Task <ActionResult <IEnumerable <MovieDTO> > > GetMovieToday() { var movies = await movieRepo.GetMoviesToday(); foreach (Movie r in movies) { var genres = await genreRepo.GetByExpressionAsync(c => c.GenreID == r.GenreID); r.Genre = genres.First(); } var moviesDTO = mapper.Map <IEnumerable <MovieDTO> >(movies); return(Ok(moviesDTO)); //data met Links informatie }
public async Task <ActionResult <CategoryDTO> > GetCategoryById(int id) { var categories = await genericRepo.GetByExpressionAsync(m => m.Id == id); // Vergeet de count niet! categories is een collectie en nooit null if (categories == null || categories.Count() == 0) { return(NotFound(new { message = "Categorie niet gevonden." })); //return NotFound(); } Category category = categories.FirstOrDefault <Category>(); //deferred loading vd navigatie properties category.Recipes = await genericRecipeRepo.GetByExpressionAsync(r => r.CategoryId == category.Id) as ICollection <Recipe>; return(Ok(mapper.Map <CategoryDTO>(category))); }
public async Task <ActionResult> OrderReservation([Bind("MovieRoomID,SeatID,UserID")] [FromBody] Reservation reservation, [FromForm] IFormCollection formCollection) { if (reservation == null) { return(BadRequest("Unsufficient data provided")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); //400 } try { Seat theSeat = new Seat(); var seat = await seatRepo.GetByExpressionAsync(s => s.SeatID == reservation.SeatID); theSeat = seat.First(); var movieroom = await movieRoomRepo.GetMovieRoom(reservation.MovieRoomID); reservation.Price = movieroom.Movie.Price; if (theSeat.Special == true) { reservation.Price = reservation.Price + 4.5; } if (movieRoomRepo.ReservationExist(reservation)) { return(NotFound()); } await movieRoomRepo.PostReservation(reservation); } catch (Exception exc) { logger.LogError($"Threw exception when adding the reservation {reservation.MovieRoom.Movie.Name} room {reservation.MovieRoom.RoomID}: {exc}"); throw new Exception($"Creating the reservation {reservation.MovieRoom.Movie.Name} room {reservation.MovieRoom.RoomID} did not succeed."); } ReservationDTO reservationDTO = mapper.Map <ReservationDTO>(reservation); return(Created($"api/{reservation.UserID}", reservationDTO)); }