public CrearCursoResponse Ejecutar(CrearCursoRequest request)
        {
            var curso = _unitOfWork.CursoServiceRepository.FindFirstOrDefault(t => t.Id == request.id);

            if (curso == null)
            {
                Dominio.Curso newCurso = new Dominio.Curso(request.nombre, request.maxEstudiantes, request.idDirectorDocente);

                IReadOnlyList <string> errors = newCurso.CanCrear(newCurso);
                if (errors.Any())
                {
                    string listaErrors = "Errores:";
                    foreach (var item in errors)
                    {
                        listaErrors += item.ToString();
                    }
                    return(new CrearCursoResponse()
                    {
                        Message = listaErrors
                    });
                }
                else
                {
                    _unitOfWork.CursoServiceRepository.Add(newCurso);
                    _unitOfWork.Commit();
                    return(new CrearCursoResponse()
                    {
                        Message = $"Curso Creado Exitosamente"
                    });
                }
            }
            else
            {
                return(new CrearCursoResponse()
                {
                    Message = $"Curso ya existe"
                });
            }
        }
        public ActualizarCursoResponse Ejecutar(ActualizarCursoRequest request)
        {
            Dominio.Curso curso = _unitOfWork.CursoServiceRepository.FindFirstOrDefault(t => t.Id == request.id);
            if (curso == null)
            {
                return(new ActualizarCursoResponse()
                {
                    Message = $"Curso no existe"
                });
            }
            else
            {
                curso.Nombre            = request.nombre;
                curso.IdDirectorDocente = request.idDirectorDocente;
                curso.MaxEstudiantes    = request.maxEstudiantes;

                _unitOfWork.CursoServiceRepository.Edit(curso);
                _unitOfWork.Commit();
                return(new ActualizarCursoResponse()
                {
                    Message = $"Curso Actualizado Exitosamente"
                });
            }
        }