Ejemplo n.º 1
0
        public async Task CreateGenre()
        {
            //Preparation
            var databaseName = Guid.NewGuid().ToString();
            var context      = BuildContext(databaseName);
            var mapper       = BuildMap();

            var newGenre = new GenreCreationDTO()
            {
                Name = "New Genre"
            };

            var controller = new GenresController(context, mapper);

            var response = await controller.Post(newGenre);

            var result = response as CreatedAtRouteResult;

            Assert.AreEqual(201, result.StatusCode);

            var context2 = BuildContext(databaseName);
            var count    = await context2.Genres.CountAsync();

            Assert.AreEqual(1, count);
        }
Ejemplo n.º 2
0
        public async Task UpdateGenre()
        {
            var databaseName = Guid.NewGuid().ToString();
            var context      = BuildContext(databaseName);
            var mapper       = BuildMap();

            context.Genres.Add(new Genre()
            {
                Name = "Genre 1"
            });
            context.SaveChanges();

            var context2   = BuildContext(databaseName);
            var controller = new GenresController(context2, mapper);

            var genreCreationDTO = new GenreCreationDTO {
                Name = "New name"
            };

            var id       = 1;
            var response = await controller.Put(id, genreCreationDTO);

            var result = response as StatusCodeResult;

            Assert.AreEqual(204, result.StatusCode);

            var context3 = BuildContext(databaseName);
            var exists   = await context3.Genres.AnyAsync(x => x.Name == "New name");

            Assert.IsTrue(exists);
        }
Ejemplo n.º 3
0
        public async Task <int> UpdateGenreAsync(int id, GenreCreationDTO genreCreationDTO)
        {
            var exists = await _dbContext.Genres.AnyAsync(g => g.Id == id);

            if (!exists)
            {
                _logger.LogWarn($"Genre with ID {id} was not found");
                return(-1);
            }

            var genre = _mapper.Map <Genre>(genreCreationDTO);

            genre.Id = id;
            _dbContext.Entry(genre).State = EntityState.Modified;

            try
            {
                await this.SaveChangesAsync();

                _logger.LogInfo($"Genre \"{genreCreationDTO.Name}\" was updated successfully.");
                return(1);
            }
            catch (Exception ex)
            {
                _logger.LogWarn($"Failed to update genre \"{genreCreationDTO.Name}\". Exception: {ex}");
                return(0);
            }
        }
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreationDTO)
        {
            Genre genre = this.mapper.Map <Genre>(genreCreationDTO);

            this.dbContext.Add(genre);
            await this.dbContext.SaveChangesAsync();

            return(this.NoContent());
        }
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreationDTO)
        {
            var genre = mapper.Map <Genre>(genreCreationDTO);

            context.Add(genre);
            await context.SaveChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 6
0
        public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreation)
        {
            var genre = mapper.Map <Genre>(genreCreation);

            genre.Id = id;
            await repository.UpdateGenre(genre);

            return(NoContent());
        }
        public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreationDTO)
        {
            Genre genre = this.mapper.Map <Genre>(genreCreationDTO);

            genre.Id = id;
            this.dbContext.Entry(genre).State = EntityState.Modified;
            await this.dbContext.SaveChangesAsync();

            return(this.NoContent());
        }
Ejemplo n.º 8
0
        public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreation)
        {
            var genre = mapper.Map <Genre>(genreCreation);

            genre.Id = id;
            context.Entry(genre).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 9
0
        public async Task <ActionResult> Put(int Id, [FromBody] GenreCreationDTO GenreEdit)
        {
            var genre = _mapper.Map <Genre>(GenreEdit);

            genre.Id = Id;
            _db.Entry(genre).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 10
0
        public ActionResult Put(int genreId, [FromBody] GenreCreationDTO genreCreation)
        {
            var genre = mapper.Map <Genre>(genreCreation);

            genre.Id = genreId;

            context.Entry(genre).State = EntityState.Modified;
            context.SaveChanges();

            return(NoContent());
        }
Ejemplo n.º 11
0
        public ActionResult Post([FromBody] GenreCreationDTO genreCreation)
        {
            var genre = mapper.Map <Genre>(genreCreation);

            context.Add(genre);
            context.SaveChanges();

            var genreDTO = mapper.Map <GenreDTO>(genre);

            return(new CreatedAtRouteResult("getGenre", new { genreId = genreDTO.Id }, genreDTO));
        }
Ejemplo n.º 12
0
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO GenreCreation)
        {
            var genre = _mapper.Map <Genre>(GenreCreation);

            _db.Add(genre);
            await _db.SaveChangesAsync();

            var genredto = _mapper.Map <GenreDTO>(genre);

            return(new CreatedAtRouteResult("GetGenre", new { Id = genredto.Id }, genredto));
        }
Ejemplo n.º 13
0
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreation)
        {
            var genre = _mapper.Map <Genre>(genreCreation);

            _context.Add(genre);
            await _context.SaveChangesAsync();

            var genreDTO = _mapper.Map <GenreDTO>(genre);

            return(new CreatedAtRouteResult("getGenre", new { genreDTO.Id }, genreDTO));
        }
Ejemplo n.º 14
0
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreationDTO)
        {
            //context.Add(genre);
            //await context.SaveChangesAsync();
            var genre = mapper.Map <Genre>(genreCreationDTO);
            await repository.AddGenre(genre);

            var genreDTO = mapper.Map <GenreDTO>(genre);

            return(new CreatedAtRouteResult("getGenre", new { genreDTO.Id }, genreDTO));
        }
Ejemplo n.º 15
0
        public async Task <ActionResult <GenreCreationDTO> > Post([FromBody] GenreCreationDTO genre) //[FromBody] is optional
        {
            var genreTemp = mapper.Map <Genre>(genre);

            context.Genres.Add(genreTemp);
            await context.SaveChangesAsync();

            //make GenreDTO object so that you can pass it in the getGenreById returns a GenreDTO object, this is required for HATEOS
            var genreDTO = mapper.Map <GenreDTO>(genreTemp); //ReverseMap is allowing this to happen

            return(new CreatedAtRouteResult("getGenreById", new { id = genreDTO.Id, name = genreDTO.Name }, genreDTO));
        }
Ejemplo n.º 16
0
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreation)
        {
            // map to Genre for database creation
            var genre = mapper.Map <Genre>(genreCreation);

            // _genreRepo.AddGenre(genre);
            context.Add(genre);
            await context.SaveChangesAsync();

            // map back to GenreDTO for returning crated genre
            var genreDTO = mapper.Map <GenreDTO>(genre);

            return(new CreatedAtRouteResult("GetGenreById",
                                            new { genreDTO.Id }, genreDTO));
        }
Ejemplo n.º 17
0
        public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreationDTO)
        {
            var result = await _genresService.UpdateGenreAsync(id, genreCreationDTO);

            if (result == -1)
            {
                return(NotFound());
            }
            else if (result == 0)
            {
                return(BadRequest("Failed to save changes."));
            }

            return(NoContent());
        }
Ejemplo n.º 18
0
        public async Task <ActionResult> Put(int Id, [FromBody] GenreCreationDTO genreCreation)
        {
            var genre = mapper.Map <Genre>(genreCreation);

            var exists = await context.Genres.AnyAsync(x => x.Id == Id);

            if (!exists)
            {
                return(NotFound());
            }
            genre.Id = Id;
            context.Entry(genre).State = EntityState.Modified;
            await context.SaveChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 19
0
        public async Task <GenreDTO> AddGenreAsync(GenreCreationDTO genreCreationDTO)
        {
            var genre = _mapper.Map <Genre>(genreCreationDTO);

            _dbContext.Add(genre);
            try
            {
                await this.SaveChangesAsync();

                _logger.LogInfo($"Added genre \"{genreCreationDTO.Name}\" successfully.");
            }
            catch (Exception ex)
            {
                _logger.LogWarn($"Failed to add genre \"{genreCreationDTO.Name}\". Eception: {ex}");
            }
            return(_mapper.Map <GenreDTO>(genre));
        }
Ejemplo n.º 20
0
        public async Task <ActionResult> PostDTO([FromBody] GenreCreationDTO genreCreationDTO)
        {
            await repository.AddDTO(genreCreationDTO);

            return(NoContent());
        }
Ejemplo n.º 21
0
 public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreation)
 {
     return(await Put <GenreCreationDTO, Genre>(id, genreCreation));
 }
Ejemplo n.º 22
0
 public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreation)
 {
     return(await Post <GenreCreationDTO, Genre, GenreDTO>(genreCreation, "getGenre"));
 }
Ejemplo n.º 23
0
        public virtual async Task <Genre> AddDTO(GenreCreationDTO genreCreationDTO)
        {
            var genre = _mapper.Map <Genre>(genreCreationDTO);

            return(await Add(genre));
        }
Ejemplo n.º 24
0
        public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreationDTO)
        {
            var genreDTO = await _genresService.AddGenreAsync(genreCreationDTO);

            return(new CreatedAtRouteResult("getGenre", new { genreDTO.Id }, genreDTO));
        }