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); }
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); }
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()); }
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()); }
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()); }
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()); }
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()); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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()); }
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()); }
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)); }
public async Task <ActionResult> PostDTO([FromBody] GenreCreationDTO genreCreationDTO) { await repository.AddDTO(genreCreationDTO); return(NoContent()); }
public async Task <ActionResult> Put(int id, [FromBody] GenreCreationDTO genreCreation) { return(await Put <GenreCreationDTO, Genre>(id, genreCreation)); }
public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreation) { return(await Post <GenreCreationDTO, Genre, GenreDTO>(genreCreation, "getGenre")); }
public virtual async Task <Genre> AddDTO(GenreCreationDTO genreCreationDTO) { var genre = _mapper.Map <Genre>(genreCreationDTO); return(await Add(genre)); }
public async Task <ActionResult> Post([FromBody] GenreCreationDTO genreCreationDTO) { var genreDTO = await _genresService.AddGenreAsync(genreCreationDTO); return(new CreatedAtRouteResult("getGenre", new { genreDTO.Id }, genreDTO)); }