public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            Curso curso = await _cursoRepository.ObterCurso(CursoVM.Id);

            if (curso == null)
            {
                return(NotFound());
            }

            curso.Nome = CursoVM.Nome;
            curso.Grau = (Grau)CursoVM.Grau;

            try
            {
                await _cursoRepository.AtualizarCurso(curso);

                TempData["Sucesso"] = "Curso atualizado com sucesso!";
                return(await Task.FromResult(RedirectToPage("./Index")));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(Page());
            }
        }