예제 #1
0
        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);
        }
예제 #2
0
        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());
        }
예제 #3
0
        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);*/
        }
예제 #4
0
        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));
        }
예제 #5
0
        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());
        }
예제 #6
0
        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);*/
        }
예제 #7
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"
            };

            //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"));
 }
예제 #10
0
 public async Task <ActionResult> Post([FromBody] GenreCreationDto genreCreation)
 {
     return(await Post <GenreCreationDto, Genre, GenreDto>(genreCreation, "getGenrev2"));
 }