public async Task <IActionResult> EditarQuestao(EditarQuestaoViewModel model) { if (ModelState.IsValid) { int opcaoCorreta = model.Selecionado != null?int.Parse(model.Selecionado) : -1; Questao questao = await _questaoService.GetQuestaoPorId(model.IdQuestao); int indiceOpcao = 0; foreach (Opcao opcao in questao.ListaOpcao) { Opcao_Correta opcao_Correta = await _opcao_Correta.GetOpcaoCorreta(opcao.Id); if (opcao_Correta != null) { if (indiceOpcao.ToString() != model.Selecionado) { opcao_Correta.IdOpcao = model.Opcoes[opcaoCorreta].Id; await _opcao_Correta.UpdateOpcao_CorretaAsync(opcao_Correta); break; } } indiceOpcao++; await _opcao.UpdateOpcaoAsync(opcao); } questao.Cabecalho = model.Cabecalho; questao.Texto = model.Texto; await _questaoService.UpdateQuestaoAsync(questao); } return(View()); }