Exemple #1
0
        public async Task <IActionResult> Create([Bind("Name,PasswordNo,ImageUrl")] EditAnimalModel model, IFormFile image)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _animalService.AddAsync(model);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("Error", result.Error);
                return(View(model));
            }

            if (image != null)
            {
                var imgUrl = Path.Combine("/Images" + "/Animals/" + result.Data.Id + Path.GetExtension(image.FileName));
                var ok     = FileHelper.SaveImageFromStream(image.OpenReadStream(), Path.GetFullPath(_environment.WebRootPath + imgUrl));
                if (ok)
                {
                    model          = result.Data;
                    model.ImageUrl = imgUrl;
                    await _animalService.EditAsync(model);
                }
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemple #2
0
        public async Task <IActionResult> Post(string email, [FromBody] CreateAnimal request)
        {
            if (email != await GetLoggedUserEmail())
            {
                throw new ServiceException(ErrorCodes.AnimalNotAvailable, "You can only add animals to your account.");
            }

            await _animalService.AddAsync(email, request.Name, request.YearOfBirth);

            return(NoContent());
        }
        public async Task <IActionResult> Create([FromBody] CreateAnimalRequest request)
        {
            await _animalService.AddAsync(request, User);

            return(Ok());
        }