public IActionResult PostDog([FromBody] CreateDogDto dog)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var createdDog = _dogService.Add(dog);

            return(CreatedAtAction("GetDog", new { id = createdDog.Id }, createdDog));
        }
Пример #2
0
        public DogDto Add(CreateDogDto dog)
        {
            var d = _mapper.Map <CreateDogDto, DogEntity>(dog);

            var size = _dogRepository.GetSize(dog.SizeId);

            d.Size = size;

            var added = _dogRepository.Add(d);

            return(_mapper.Map <DogEntity, DogDto>(added));
        }
Пример #3
0
 public async Task<IActionResult> CreateDog([FromBody] CreateDogDto dogDto)
 {
     var dog = new Dog
     {
         Barks = dogDto.Barks,
         Name = dogDto.Name,
         PottyTrained = dogDto.PottyTrained
     };
     await _animalService.InsertDogAsync(dog);
     _memoryCache.Remove(CacheKeys.AllDogs);
     // Debatable if you want to do a fetch from the cache or a fetch directly from the db. This all depends on your configuration
     var returningDog = (await GetAllDogsFromCacheAsync()).FirstOrDefault(x => x.Id == dog.Id);
     return base.CreatedAtRoute(nameof(GetDog), new { id = dog.Id }, returningDog);
 }
        public async Task PersistDog_EmptyNameThrowsError()
        {
            var toInsert = new CreateDogDto();

            var buffer      = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(toInsert));
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            var client = Factory.CreateClient();

            // Act
            var responsePost = await client.PostAsync("dogs", byteContent);

            responsePost.StatusCode.Should().Be(400);
        }