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)));
        }
示例#4
0
        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));
        }