예제 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Name")] Trainer trainer)
        {
            if (id != trainer.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(trainer);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TrainerExists(trainer.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(trainer));
        }
예제 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Species,Type")] Pokemon pokemon)
        {
            if (id != pokemon.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(pokemon);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PokemonExists(pokemon.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(pokemon));
        }
        public ActionResult Edit(Guid id, PokemonEditVm pokemonEditVm, string[] selectedTypes)
        {
            if (id != pokemonEditVm.Id)
            {
                return(NotFound());
            }
            var pokemonToUpdate = _pokemonContext.Pokemons
                                  .Include(p => p.PokemonTypes)
                                  .ThenInclude(pt => pt.Type)
                                  .Where(p => p.Id == id)
                                  .Single();


            if (ModelState.IsValid)
            {
                try
                {
                    pokemonToUpdate.Name           = pokemonEditVm.Name;
                    pokemonToUpdate.Location       = pokemonEditVm.location;
                    pokemonToUpdate.Description    = pokemonEditVm.Description;
                    pokemonToUpdate.HasAllolanForm = pokemonEditVm.HasAllolanForm;

                    if (pokemonEditVm.UploadedImage != null)
                    {
                        DeletePokeImage(pokemonToUpdate);
                        pokemonToUpdate.ImgUrl = SavePokeImg(pokemonEditVm.UploadedImage);
                    }

                    UpdatePokemonTypes(selectedTypes, pokemonToUpdate);
                    _pokemonContext.Update(pokemonToUpdate);
                    _pokemonContext.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PokemonExists(pokemonEditVm.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            PopulateAssignedTypeData(pokemonToUpdate);
            return(View(pokemonEditVm));
        }