public async Task <IActionResult> DetalharQuestao(int Id)
        {
            Questao questao = await _questaoService.GetQuestaoPorId(Id);

            EditarQuestaoViewModel editarQuestaoViewModel = new EditarQuestaoViewModel
            {
                Cabecalho = questao.Cabecalho,
                IdQuestao = questao.Id,
                Opcoes    = questao.ListaOpcao,
                Texto     = questao.Texto
            };

            int indiceOpcao = 0;

            foreach (Opcao opcao in questao.ListaOpcao)
            {
                Opcao_Correta opcao_Correta = await _opcao_Correta.GetOpcaoCorreta(opcao.Id);

                if (opcao_Correta != null)
                {
                    editarQuestaoViewModel.Selecionado = indiceOpcao.ToString();
                    break;
                }
                indiceOpcao++;
            }
            return(View(editarQuestaoViewModel));
        }
        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());
        }