public void CreateAnimal_ShouldCreateAnimal_WhenValid()
        {
            Animal animal = new Animal()
            {
                Id           = 3,
                AnimalTypeId = 1,
                Happiness    = 50,
                Hunger       = 50,
                LastChecked  = DateTime.Now,
                Name         = "Antonio",
                UserId       = 2
            };

            int animalCount = animalRepository.GetAnimalsFromUser(2).Count();

            Animal returnValue = animalRepository.CreateAnimal(animal);

            Assert.AreEqual(0, animalCount);
            animalCount = animalRepository.GetAnimalsFromUser(2).Count();
            Assert.AreEqual(1, animalCount);
            Assert.AreEqual(animal.Id, returnValue.Id);
            Assert.AreEqual(animal.AnimalTypeId, returnValue.AnimalTypeId);
            Assert.AreEqual(animal.Happiness, returnValue.Happiness);
            Assert.AreEqual(animal.Hunger, returnValue.Hunger);
            Assert.AreEqual(animal.UserId, returnValue.UserId);
            Assert.AreEqual(animal.LastChecked, returnValue.LastChecked);
        }
Exemple #2
0
        public IActionResult CreateAnimal([FromBody] AnimalCreateDto animalToAdd)
        {
            if (animalToAdd == null)
            {
                return(BadRequest(ModelState));
            }

            if (animalRepo.AnimalExists(animalToAdd.Name))
            {
                ModelState.AddModelError("", "Animal already exist");
                return(StatusCode(404, ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var animal = mapper.Map <Animal>(animalToAdd);

            if (!animalRepo.CreateAnimal(animal))
            {
                ModelState.AddModelError("", $"Error with {animal.Name}");
                return(StatusCode(500, ModelState));
            }
            return(CreatedAtRoute("GetAnimal", new { version = HttpContext.GetRequestedApiVersion().ToString(), animalId = animal.Id }, animal));
        }
Exemple #3
0
        public ActionResult CreateAnimal(AnimalCreateModel model)
        {
            model.ShelterId = _shelterId;
            var result = _animalRepository.CreateAnimal(model);

            if (result.IsError)
            {
                return(BadRequest(result.Message));
            }

            return(Ok(result.Data.Id));
        }
        public AnimalDTO CreateAnimal(int userId, AnimalCreationDTO animalCreationDTO)
        {
            Animal animal = Mapper.Map <Animal>(animalCreationDTO);

            animal.Id          = GetNextId();
            animal.UserId      = userId;
            animal.LastChecked = DateTime.Now;
            animal.Happiness   = DEFAULT_HAPPINESS;
            animal.Hunger      = DEFAULT_HUNGER;

            //Create animal and convert to AnimalDTO
            AnimalDTO returnValue = Mapper.Map <AnimalDTO>(animalRepository.CreateAnimal(animal));

            return(returnValue);
        }
Exemple #5
0
        public async Task <IActionResult> CreateAnimal([FromBody] CreateAnimalRequest animalRequest)
        {
            try
            {
                var validator = new CreateAnimalValidator(animalRequest, _accommodationRepository);
                await validator.Validate();

                if (validator.Validations.Any())
                {
                    return(BadRequest(validator.Validations));
                }

                await _animalRepository.CreateAnimal(validator.Data);

                return(CreatedAtAction(nameof(GetAnimalById), validator.Data, new { id = validator.Data.Id }));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }