public async Task <IActionResult> Edit(int id, [Bind("EstacaoAnoId,Nome_estacao")] EstacaoAno estacaoAno)//serve para evitar alguns ataques, so recebe campos que estejam no bind { if (id != estacaoAno.EstacaoAnoId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(estacaoAno); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EstacaoAnoExists(estacaoAno.EstacaoAnoId)) { // todo: talvez alguem apagou essa estacao //perguntar ao utilizador se quer criar um novo com os mesmos dados return(NotFound()); } else { // todo: mostrar o erro e perguntar se quer tentar outra vez throw; } } return(RedirectToAction(nameof(Index))); } return(View(estacaoAno)); }
[ValidateAntiForgeryToken]// validacao de seguranca public async Task <IActionResult> Create([Bind("EstacaoAnoId,Nome_estacao")] EstacaoAno estacaoAno) { if (ModelState.IsValid) { // todo: validacoes adicionais antes de inserir uma estacao _context.Add(estacaoAno); await _context.SaveChangesAsync(); //todo: informar o utilizador, estacao criada com sucesso return(RedirectToAction(nameof(Index))); } return(View(estacaoAno)); }
public static IAbacaxi Create(EstacaoAno estacao) { switch (estacao) { case EstacaoAno.Inverno: return(new AbacaxiAmericano { Nome = "Abacaxi - USA", Localizacao = "New York" }); case EstacaoAno.Verao: return(new AbacaxiBrasileiro { Nome = "Abacaxi - BR", Localizacao = "São Paulo" }); default: throw new ArgumentException("Estação Invalida"); } }