public async Task <ActionResult <FruitViewModel> > Edit([FromQuery] Guid id, [FromBody] FruitViewModel fruitViewModel)
        {
            if (id != fruitViewModel.Id)
            {
                NotifyError("Id's field don't match.");
                return(CustomResponse(fruitViewModel));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(fruitViewModel));
            }

            await _fruitService.Update(_mapper.Map <Fruit>(fruitViewModel));

            return(CustomResponse(fruitViewModel));
        }
Beispiel #2
0
        public IActionResult Put(Guid id, [FromBody] FruitDto dto)
        {
            try
            {
                var validRes = new FruitDtoValidation().Validate(dto);
                if (!validRes.IsValid)
                {
                    return(BadRequest(validRes.Errors));
                }
                if (_fruitService.GetById(id) == null)
                {
                    return(BadRequest("Fruta não encontrado"));
                }

                _fruitService.Update(id, dto);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(Guid id, FruitViewModel fruit)
        {
            if (id != fruit.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(fruit));
            }

            var dbFruit = await _fruitService.GetById(fruit.Id);

            fruit.Image = dbFruit.Image;

            if (fruit.ImageUpload != null)
            {
                var prefix = Guid.NewGuid() + "_";
                if (!await UploadImage(fruit.ImageUpload, prefix))
                {
                    return(View(fruit));
                }

                fruit.Image = prefix + fruit.ImageUpload.FileName;
            }

            await _fruitService.Update(_mapper.Map <Fruit>(fruit));

            if (!IsValid())
            {
                return(View(fruit));
            }
            TempData["Success"] = "Fruit successfully updated!";
            return(RedirectToAction("Index"));
        }