public async Task <IActionResult> Criar([FromBody] CursoViewModel cursoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { mensagem = "O campo nome é obrigatório" }));
            }

            var curso = CursoFactory.MapearCurso(cursoViewModel);

            await _criarCurso.Executar(curso);

            return(Ok(new { mensagem = "Curso Criado com sucesso!" }));
        }
        public async Task <IActionResult> Alterar([FromBody] CursoViewModel cursoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { mensagem = "O campo nome é obrigatório" }));
            }

            try
            {
                var curso = CursoFactory.MapearCurso(cursoViewModel);

                await _alterarCurso.Executar(cursoViewModel.Id, curso);

                return(Ok(new { mensagem = "Curso alterado com sucesso" }));
            }
            catch (System.Exception)
            {
                return(BadRequest(new { erro = "Erro ao alterar o curso" }));
            }
        }