Esempio n. 1
0
        public ActionResult <Result> Create([FromBody] CatResource resource)
        {
            Cat    cat          = _mapper.Map <CatResource, Cat>(resource);
            Result createResult = _catService.CreateNewCat(cat, User.Identity.Name);

            return(Ok(createResult));
        }
        public async Task <ActionResult <Cat> > AddCat([FromBody] CatResource cat)
        {
            List <Caretaker> caretakers = new List <Caretaker>();

            foreach (long id in cat.caretakerIds)
            {
                var caretaker = await this.caretakerRepository.GetAsync(id);

                if (caretaker == null)
                {
                    return(NotFound($"Caretaker with id {id} Not Found"));
                }
                caretakers.Add(caretaker);
            }

            var vet = await this.vetRepository.GetAsync(cat.vetId);

            if (vet == null)
            {
                return(NotFound("Vet Not Found"));
            }

            Cat newCat = new Cat
            {
                name       = cat.name,
                age        = cat.age,
                liveCount  = cat.liveCount,
                vet        = vet,
                caretakers = caretakers
            };

            this.petRepository.Add(newCat);
            await this.unitOfWork.CompletedAsync();

            return(Ok(newCat));
        }