public async Task <IActionResult> Edit(int id, [Bind("Id,Premio,FilmeFK,PessoaFK")] PessoaFilme pessoaFilme) { if (id != pessoaFilme.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(pessoaFilme); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PessoaFilmeExists(pessoaFilme.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["FilmeFK"] = new SelectList(_context.Filme, "Id", "Titulo", pessoaFilme.FilmeFK); ViewData["PessoaFK"] = new SelectList(_context.Pessoa, "Id", "Nome", pessoaFilme.PessoaFK); return(View(pessoaFilme)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Tarefa")] Profissao profissao) { if (id != profissao.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(profissao); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProfissaoExists(profissao.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(profissao)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,FilmeFK,GeneroFK")] FilmeGenero filmeGenero) { if (id != filmeGenero.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(filmeGenero); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FilmeGeneroExists(filmeGenero.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["FilmeFK"] = new SelectList(_context.Filme, "Id", "Titulo", filmeGenero.FilmeFK); ViewData["GeneroFK"] = new SelectList(_context.Genero, "Id", "Nome", filmeGenero.GeneroFK); return(View(filmeGenero)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Nome,Foto,DataNasc,DataObi,DataInic,Nacionalidade,ProfissaoFK")] Pessoa pessoa, IFormFile imagem) { if (id != pessoa.Id) { return(NotFound()); } // recuperar o ID do objeto enviado para o browser var numIdFoto = HttpContext.Session.GetString("NumFotoEmEdicao"); // var auxiliar string caminhoCompleto = ""; if (ModelState.IsValid) { try { if (imagem == null) { pessoa.Foto = numIdFoto; } else { // há ficheiro. Mas, será um ficheiro válido? if (imagem.ContentType == "image/jpeg" || imagem.ContentType == "image/png" || imagem.ContentType == "image/jpg") { // definir o novo nome da fotografia Guid g; g = Guid.NewGuid(); //apagar a imagem anterior string localizacaoFicheiro = _caminho.WebRootPath; caminhoCompleto = Path.Combine(localizacaoFicheiro, "Imagens", numIdFoto); if (System.IO.File.Exists(caminhoCompleto)) { System.IO.File.Delete(caminhoCompleto); } caminhoCompleto = g.ToString(); // determinar a extensão do nome da imagem string extensao = Path.GetExtension(imagem.FileName).ToLower(); // caminho completo do ficheiro caminhoCompleto = caminhoCompleto + extensao; // associar este ficheiro aos dados ds foto pessoa.Foto = caminhoCompleto; // localização do armazenamento da imagem caminhoCompleto = Path.Combine(localizacaoFicheiro, "Imagens", caminhoCompleto); } else { // ficheiro não é válido // adicionar msg de erro ModelState.AddModelError("", "Só pode escolher uma imagem"); // devolver o controlo à View var profissao = (from pr in _context.Profissao join p in _context.Pessoa on pr.Id equals p.ProfissaoFK select pr) .OrderBy(pr => pr.Tarefa); ViewData["ProFK"] = new SelectList(profissao, "Id", "Tarefa"); return(View(pessoa)); } _context.Update(pessoa); await _context.SaveChangesAsync(); // vou guardar, agora, no disco rígido do Servidor a imagem using var stream = new FileStream(caminhoCompleto, FileMode.Create); await imagem.CopyToAsync(stream); } } catch (DbUpdateConcurrencyException) { if (!PessoaExists(pessoa.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ProFK"] = new SelectList(_context.Profissao.OrderBy(pr => pr.Tarefa), "Id", "Tarefa", pessoa.ProfissaoFK); return(View(pessoa)); }