public ActualizarMateriaResponse Ejecutar(ActualizarMateriaRequest request)
        {
            Dominio.Entidades.Materias materia = _unitOfWork.MateriaServiceRepository.FindFirstOrDefault(t => t.IdDocente == request.IdDocente);
            if (materia == null)
            {
                return(new ActualizarMateriaResponse()
                {
                    Message = $"La materia no existe"
                });
            }
            else
            {
                materia.IdCurso       = request.IdCurso;
                materia.IdDocente     = request.IdDocente;
                materia.idMateria     = request.Id;
                materia.NombreMateria = request.Nombre;

                _unitOfWork.MateriaServiceRepository.Edit(materia);
                _unitOfWork.Commit();
                return(new ActualizarMateriaResponse()
                {
                    Message = $"Estudiante Actualizado Exitosamente"
                });
            }
        }
        public CrearMateriaResponse Ejecutar(CrearMateriaRequest request)
        {
            var materia = _unitOfWork.MateriaServiceRepository.FindFirstOrDefault(t => t.Id == request.Id);

            if (materia == null)
            {
                Dominio.Entidades.Materias newMateria = new Dominio.Entidades.Materias(request.Id, request.Nombre, request.IdDocente, request.IdCurso);

                IReadOnlyList <string> errors = newMateria.CanCrear(newMateria);
                if (errors.Any())
                {
                    string listaErrors = "Errores:";
                    foreach (var item in errors)
                    {
                        listaErrors += item.ToString();
                    }
                    return(new CrearMateriaResponse()
                    {
                        Message = listaErrors
                    });
                }
                else
                {
                    _unitOfWork.MateriaServiceRepository.Add(newMateria);
                    _unitOfWork.Commit();
                    return(new CrearMateriaResponse()
                    {
                        Message = $"Materia creada exitosamente"
                    });
                }
            }
            else
            {
                return(new CrearMateriaResponse()
                {
                    Message = $"Materia ya existe"
                });
            }
        }