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); }
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)); }
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); }
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)); } }