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());
        }