public async Task UpdateGenre() { var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); context.Genres.Add(new Genre { Name = "New Genre1" }); context.SaveChanges(); var context2 = BuildContext(databaseName); var controller = new GenresV2Controller(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 <ActionResult> Put(int id, [FromBody] GenreCreationDto genreCreationDto) { var genre = mapper.Map <Genre>(genreCreationDto); genre.Id = id; context.Entry(genre).State = EntityState.Modified; await context.SaveChangesAsync(); return(NoContent()); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] GenreCreationDto genreDto) { return(await Put <Genre, GenreCreationDto>(id, genreDto)); /*var genre = _mapper.Map<Genre>(genreDto); * genre.Id = id; * _context.Entry(genre).State = EntityState.Modified; * await _context.SaveChangesAsync(); * //retuen 204 * return Ok(genre);*/ }
public async Task <ActionResult> Post([FromBody] GenreCreationDto genreCreation) { var genre = _mapper.Map <Genre>(genreCreation); _context.Genres.Add(genre); //_context.Add(genre); await _context.SaveChangesAsync(); var genresDto = _mapper.Map <GenreDto>(genre); return(new CreatedAtRouteResult("getGenre", new { Id = genresDto.Id }, genresDto)); }
public async Task <ActionResult> Post([FromBody] GenreCreationDto genreCreationDto) { var genreDupl = await context.Genres.FirstOrDefaultAsync(g => g.Name == genreCreationDto.Name); if (genreDupl != null) { return(BadRequest("Duplicates values not allowed!")); } var genre = mapper.Map <Genre>(genreCreationDto); context.Genres.Add(genre); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post([FromBody] GenreCreationDto genreCreation) { return(await Post <Genre, GenreCreationDto, GenreDtOs>(genreCreation, "GetGenre")); /*//مدلی که سمت کاربر برای من ارسال میشود نباید آیدی داشته باشد * //لذا یک مدل ساختم که بدون آیدی باشد * //لذا جدا این بخش را مپ کردم * //حالا باید مدل کاربر را به سمت مدل دیتابیس مپ کنم * var genre = _mapper.Map<Genre>(genreCreation); * await _context.AddAsync(genre); * await _context.SaveChangesAsync(); * //reverse map * //در نهایت مقدار اضافه شده را باید به مدل خودم مپ کنم * var genreDto = _mapper.Map<GenreDtOs>(genre); * * //back to action * //api/Genre/id * return new CreatedAtActionResult("Get", "Genres", new { id = genreDto.Id }, genreDto);*/ }
public async Task CreateGenre() { //Preparation var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); var newGenre = new GenreCreationDto { Name = "New Genre" }; //Testing var controller = new GenresV2Controller(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 <ActionResult> Put(int id, GenreCreationDto genreCreationDto) { return(await Put <GenreCreationDto, Genre>(id, genreCreationDto)); }
public async Task <ActionResult> Post(GenreCreationDto genreCreationDto) { return(await Post <GenreCreationDto, Genre, GenreDto>(genreCreationDto, "Get")); }
public async Task <ActionResult> Post([FromBody] GenreCreationDto genreCreation) { return(await Post <GenreCreationDto, Genre, GenreDto>(genreCreation, "getGenrev2")); }