public async Task <Result <FoodDto> > EditFoodAsync(int foodId, FoodForUpdateDto food) { var isFoodExists = await IsFoodExistsAsync(foodId); if (!isFoodExists) { return(Result <FoodDto> .Failure(new List <string> { string.Format(FoodsConstants.UnexistingFoodById, foodId) })); } var foodFromDb = await context .Foods .Include(x => x.FoodCategory) .FirstOrDefaultAsync(food => food.Id == foodId); var updatedFood = food .MapTo <FoodForUpdateDto, Food>(foodFromDb); await context .SaveChangesAsync(); var foodToReturn = updatedFood .MapTo <FoodDto>(); return(Result <FoodDto> .SuccessWith(foodToReturn)); }