コード例 #1
0
        // GET: DefaultMeals/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var defaultMeal = await _context.DefaultMeals.SingleOrDefaultAsync(m => m.ID == id);

            if (defaultMeal == null)
            {
                return(NotFound());
            }
            else
            {
                EditDefaultMealViewModel editDefaultMealViewModel = new EditDefaultMealViewModel(
                    defaultMeal.ID,
                    defaultMeal.Name,
                    defaultMeal.Description,
                    _context.WeatherTypes.ToList(),
                    defaultMeal.WeatherTypeID,
                    _context.CookingMethods.ToList(),
                    defaultMeal.CookingMethodID,
                    _context.CookingMethods.ToList(),
                    defaultMeal.AltCookingMethodID,
                    _context.CookingTimes.ToList(),
                    defaultMeal.CookingTimeID,
                    _context.PrepTimes.ToList(),
                    defaultMeal.PrepTimeID);

                _context.SaveChanges();
                return(View(editDefaultMealViewModel));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Edit(EditDefaultMealViewModel editDefaultMealViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    WeatherType   newWeatherType      = _context.WeatherTypes.Single(w => w.ID == editDefaultMealViewModel.WeatherTypeID);
                    CookingMethod newCookingMethod    = _context.CookingMethods.Single(m => m.ID == editDefaultMealViewModel.CookingMethodID);
                    CookingMethod newAltCookingMethod = _context.CookingMethods.Single(a => a.ID == editDefaultMealViewModel.AltCookingMethodID);
                    CookingTime   newCookingTime      = _context.CookingTimes.Single(t => t.ID == editDefaultMealViewModel.CookingTimeID);
                    PrepTime      newPrepTime         = _context.PrepTimes.Single(p => p.ID == editDefaultMealViewModel.PrepTimeID);

                    //Update the default meal in the default meal table
                    DefaultMeal editDefaultMeal = new DefaultMeal
                    {
                        ID               = editDefaultMealViewModel.DefaultMealID,
                        Name             = editDefaultMealViewModel.Name,
                        Description      = editDefaultMealViewModel.Description,
                        WeatherType      = newWeatherType,
                        CookingMethod    = newCookingMethod,
                        AltCookingMethod = newAltCookingMethod,
                        CookingTime      = newCookingTime,
                        PrepTime         = newPrepTime
                    };

                    _context.Update(editDefaultMeal);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DefaultMealExists(editDefaultMealViewModel.DefaultMealID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(editDefaultMealViewModel));
        }