public CursoResponse Get(FiltroComunRequest request)
        {
            var response = new CursoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetCurso(request.Id);
                    if (entidad == null)
                    {
                        throw new InvalidOperationException("No se encuentra el registro");
                    }

                    response.Curso = new CursoDto
                    {
                        Id             = entidad.Id,
                        NombreCurso    = entidad.NombreCurso,
                        NombreProfesor = entidad.NombreProfesor,
                        FechaInicio    = entidad.FechaInicio
                    };
                }

                response.Exito = true;
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }

            return(response);
        }
        public ListadoCursosResponse GetAll(FiltroComunRequest request)
        {
            var response = new ListadoCursosResponse();

            try
            {
                var lista = new List <CursoDto>();
                using (var ctx = new ContextoDb())
                {
                    var allCursos = ctx.GetAllCursos(request.Filtro);

                    lista.AddRange(allCursos.Select(Curso => new CursoDto
                    {
                        Id             = Curso.Id,
                        NombreCurso    = Curso.NombreCurso,
                        NombreProfesor = Curso.NombreProfesor,
                        FechaInicio    = Curso.FechaInicio
                    }));
                }

                response.ListaCursos = lista;
                response.Exito       = true;
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }
            return(response);
        }
        public AlumnoResponse Get(FiltroComunRequest request)
        {
            var response = new AlumnoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetAlumno(request.Id);
                    if (entidad == null)
                    {
                        throw new InvalidOperationException("No se encuentra el registro");
                    }

                    response.Alumno = new AlumnoDto
                    {
                        Id                = entidad.Id,
                        Nombres           = entidad.Nombres,
                        Apellidos         = entidad.Apellidos,
                        CorreoElectronico = entidad.CorreoElectronico,
                        Edad              = entidad.Edad,
                        FechaNacimiento   = entidad.FechaNacimiento,
                    };
                }

                response.Exito = true;
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }

            return(response);
        }
        public CursoResponse Delete(FiltroComunRequest request)
        {
            var response = new CursoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetCurso(request.Id);

                    if (entidad == null)
                    {
                        throw new InvalidOperationException("Registro no existe");
                    }

                    ctx.Set <Curso>().Attach(entidad);
                    ctx.Entry(entidad).State = EntityState.Deleted;

                    response.Exito = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }
            return(response);
        }
        public ListadoAlumnosResponse GetAll(FiltroComunRequest request)
        {
            var response = new ListadoAlumnosResponse();

            try
            {
                var lista = new List <AlumnoDto>();
                using (var ctx = new ContextoDb())
                {
                    var allAlumnos = ctx.GetAllAlumnos(request.Filtro);

                    lista.AddRange(allAlumnos.Select(alumno => new AlumnoDto
                    {
                        Id                = alumno.Id,
                        Nombres           = alumno.Nombres,
                        Apellidos         = alumno.Apellidos,
                        CorreoElectronico = alumno.CorreoElectronico,
                        Edad              = alumno.Edad,
                        FechaNacimiento   = alumno.FechaNacimiento
                    }));
                }

                response.ListaAlumnos = lista;
                response.Exito        = true;
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }
            return(response);
        }