public ValidationAppResult EditarCurso(EdicaoCursoViewModel cursoViewModel)
        {
            BeginTransaction();
            var curso = _cursoService.ObterPorId(cursoViewModel.CursoId);
            var tipoCurso = _tipoCursoService.ObterPorId(cursoViewModel.TipoCursoId);
            curso.AtualizarCurso(cursoViewModel.Nome, cursoViewModel.Ativo, tipoCurso);

            var validationAppResult = DomainToApplicationResult(_cursoService.AtualizarCurso(curso));

            if (validationAppResult.IsValid)
                Commit();

            return validationAppResult;
        }
        public ActionResult Editar(EdicaoCursoViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = _cursoAppService.EditarCurso(model);

                if (result.IsValid)
                    return RedirectToAction("Index");
                else
                {
                    foreach (var item in result.Erros)
                        ModelState.AddModelError("", item.Message);
                }

            }
            model.TiposCurso = PreencherTipoCurso();
            return View(model);
        }
        public EdicaoCursoViewModel ObterParaEditar(Guid id)
        {
            var curso = _cursoService.ObterPorIdComDependencias(id);

            var cursoViewModel = new EdicaoCursoViewModel
            {
                CursoId = curso.CursoId,
                Nome = curso.Nome,
                TipoCursoId = curso.TipoCurso.TipoCursoId,
                Ativo = curso.Ativo
            };

            return cursoViewModel;
        }