public async Task <IActionResult> UpdateFood(UpdateFoodDto updateFoodDto)
        {
            if (ModelState.IsValid)
            {
                Food foodToUpdate = await _db.Foods.FindAsync(updateFoodDto.FoodId);

                if (foodToUpdate is null)
                {
                    return(Json(new AxiosResponseDto {
                        Success = false, Message = "this food doesn't exist.", Title = "Error"
                    }));
                }

                updateFoodDto.MapUpdateFoodDtoToFoodEntity(foodToUpdate);
                if (updateFoodDto.PhotoPath is not null && updateFoodDto.Photo is not null)
                {
                    foodToUpdate.PhotoPath = await updateFoodDto.Photo.UploadAsync(_webHostEnvironment);
                }

                await _db.SaveChangesAsync();

                return(Json(new AxiosResponseDto {
                    Success = true, Message = "the food was updated successfully.", Title = "Updated"
                }));
            }
            return(Json(new AxiosResponseDto {
                Success = false, Message = "please enter right values for inputs.", Title = "Error"
            }));
        }
        public async Task <IActionResult> UpdateFood(int id)
        {
            if (id <= 0)
            {
                return(Json(new { success = false, message = "wrong Food Id, Please refresh the page." }));
            }

            Food foodToUpdate = await _db.Foods.FindAsync(id);

            if (foodToUpdate is null)
            {
                return(Json(new { success = false, message = "Food doesn't exist." }));
            }

            UpdateFoodDto updateFoodDto = UpdateFoodDto.MapFoodEntityToUpdateFoodDto(foodToUpdate);

            return(PartialView(updateFoodDto));
        }
Esempio n. 3
0
 public IActionResult Put(int id, [FromBody] UpdateFoodDto model) =>
 _mapper.Map <FoodUpdateModel>(model)
 .Map(x => _foodCommandRepository.Update(id, x))
 .Map(x => AllOk(new { result = x }))
 .Reduce(_ => BadRequest(), error => error is ArgumentNotSet, x => _logger.LogError(x.ToString()))
 .Reduce(_ => InternalServerError(), x => _logger.LogError(x.ToString()));