public bool EsLoginValido(CUsuario oUsuario)
 {
     using (var db = new dbalumnosEntity())
     {
         // --- buscar usuario
         usuario usuarioEncontrado = db.usuario.SingleOrDefault(p => p.login.Trim().ToUpper() == oUsuario.login.Trim().ToUpper());
         if (usuarioEncontrado != null && usuarioEncontrado.clave == CLibUtil.EncriptarMD5(oUsuario.clave))
             return true;
         return false;
     }
 }
        public int GrabarAlumno(CAlumno oAlumno)
        {
            using (var db = new dbalumnosEntity())
            {
                alumno alumnoEncontrado = db.alumno.SingleOrDefault(p=> p.idalumno == oAlumno.idalumno);

                if (alumnoEncontrado == null)
                {
                    // -- guardar nuevo alumno
                    alumno nuevoAlumno = new alumno();
                    nuevoAlumno.idalumno = 0;
                    nuevoAlumno.idtipo = oAlumno.idtipo;
                    nuevoAlumno.nombre = oAlumno.nombre;
                    nuevoAlumno.ruc = oAlumno.ruc;
                    nuevoAlumno.sexo = oAlumno.sexo;
                    nuevoAlumno.telefono = oAlumno.telefono;
                    nuevoAlumno.apaterno = oAlumno.apaterno;
                    nuevoAlumno.amaterno = oAlumno.amaterno;
                    nuevoAlumno.celular = oAlumno.celular;
                    nuevoAlumno.cnumero = oAlumno.cnumero;
                    nuevoAlumno.direccion = oAlumno.direccion;
                    nuevoAlumno.fecnac = oAlumno.fecnac;
                    nuevoAlumno.email = oAlumno.email;
                    db.alumno.Add(nuevoAlumno);

                    return db.SaveChanges();
                }
                else
                {
                    // -- actualizar alumno existente
                    alumnoEncontrado.idtipo = oAlumno.idtipo;
                    alumnoEncontrado.nombre = oAlumno.nombre;
                    alumnoEncontrado.ruc = oAlumno.ruc;
                    alumnoEncontrado.sexo = oAlumno.sexo;
                    alumnoEncontrado.telefono = oAlumno.telefono;
                    alumnoEncontrado.apaterno = oAlumno.apaterno;
                    alumnoEncontrado.amaterno = oAlumno.amaterno;
                    alumnoEncontrado.celular = oAlumno.celular;
                    alumnoEncontrado.cnumero = oAlumno.cnumero;
                    alumnoEncontrado.direccion = oAlumno.direccion;
                    alumnoEncontrado.fecnac = oAlumno.fecnac;
                    alumnoEncontrado.email = oAlumno.email;

                    return db.SaveChanges();
                }
            }
        }
        public int GrabarMatricula(CMatricula oMatricula)
        {
            using (var db = new dbalumnosEntity())
            {
                matricula matriculaEncontrada = db.matricula.SingleOrDefault(p => p.idmatricula == oMatricula.idmatricula);

                if (matriculaEncontrada == null)
                {
                    // -- guardar nueva matricula
                    matricula nuevaMatricula = new matricula();
                    nuevaMatricula.numerorecibo = oMatricula.numerorecibo;
                    nuevaMatricula.observacion = oMatricula.observacion;
                    nuevaMatricula.serierecibo = oMatricula.serierecibo;
                    nuevaMatricula.fecha = oMatricula.fecha;
                    nuevaMatricula.fecharecibo = oMatricula.fecharecibo;
                    nuevaMatricula.idalumno = oMatricula.idalumno;
                    nuevaMatricula.idperiodo = oMatricula.idperiodo;
                    db.matricula.Add(nuevaMatricula);
                    return db.SaveChanges();
                }
                else
                {
                    // -- actualizar matricula existente
                    matriculaEncontrada.numerorecibo = oMatricula.numerorecibo;
                    matriculaEncontrada.observacion = oMatricula.observacion;
                    matriculaEncontrada.serierecibo = oMatricula.serierecibo;
                    matriculaEncontrada.fecha = oMatricula.fecha;
                    matriculaEncontrada.fecharecibo = oMatricula.fecharecibo;
                    return db.SaveChanges();
                }
            }
        }
        public tipo_documento[] SelectTipoDocumento()
        {
            using (var db = new dbalumnosEntity())
            {

                return db.Database.SqlQuery<tipo_documento>("select * from tipo_documento").ToArray();

            }
        }
        public CRecibo ObtenerNuevoRecibo()
        {
            using (var db = new dbalumnosEntity())
            {
                int? numSerie = Convert.ToInt32(db.recibo.Max(p => p.serie));

                if (numSerie != null && numSerie == 0)
                    numSerie++;

                int? maxRecibo = db.recibo.Where(p => p.serie == numSerie).Max(p => p.numero);
                if (maxRecibo == null)
                    maxRecibo = 0;

                CRecibo oRecibo = new CRecibo();
                oRecibo.serie = Convert.ToInt32(numSerie);
                oRecibo.numero = Convert.ToInt32(maxRecibo)+1;

                return oRecibo;
            }
        }
        public int GrabarRecibo(CRecibo oRecibo, CAlumno oAlumno)
        {
            using (var db = new dbalumnosEntity())
            {
                recibo reciboEncontrado = db.recibo.SingleOrDefault(p => p.serie == oRecibo.serie && p.numero == oRecibo.numero);

                // --- grabando alumno
                alumno alumnoEncontrado = db.alumno.SingleOrDefault(p => p.idalumno == oAlumno.idalumno);
                int resultAlumno = 0;

                if (alumnoEncontrado == null)
                {
                    // -- guardar nuevo alumno
                    alumno nuevoAlumno = new alumno();
                    nuevoAlumno.idalumno = 0;
                    nuevoAlumno.idtipo = oAlumno.idtipo;
                    nuevoAlumno.nombre = oAlumno.nombre;
                    nuevoAlumno.ruc = oAlumno.ruc;
                    nuevoAlumno.sexo = oAlumno.sexo;
                    nuevoAlumno.telefono = oAlumno.telefono;
                    nuevoAlumno.apaterno = oAlumno.apaterno;
                    nuevoAlumno.amaterno = oAlumno.amaterno;
                    nuevoAlumno.celular = oAlumno.celular;
                    nuevoAlumno.cnumero = oAlumno.cnumero;
                    nuevoAlumno.direccion = oAlumno.direccion;
                    nuevoAlumno.fecnac = oAlumno.fecnac;
                    nuevoAlumno.email = oAlumno.email;
                    db.alumno.Add(nuevoAlumno);
                    alumnoEncontrado = nuevoAlumno;
                    resultAlumno = db.SaveChanges();
                }
                else
                {
                    // -- actualizar alumno existente
                    alumnoEncontrado.idtipo = oAlumno.idtipo;
                    alumnoEncontrado.nombre = oAlumno.nombre;
                    alumnoEncontrado.ruc = oAlumno.ruc;
                    alumnoEncontrado.sexo = oAlumno.sexo;
                    alumnoEncontrado.telefono = oAlumno.telefono;
                    alumnoEncontrado.apaterno = oAlumno.apaterno;
                    alumnoEncontrado.amaterno = oAlumno.amaterno;
                    alumnoEncontrado.celular = oAlumno.celular;
                    alumnoEncontrado.cnumero = oAlumno.cnumero;
                    alumnoEncontrado.direccion = oAlumno.direccion;
                    alumnoEncontrado.fecnac = oAlumno.fecnac;
                    alumnoEncontrado.email = oAlumno.email;

                    resultAlumno = db.SaveChanges();
                }

                if (reciboEncontrado == null && resultAlumno > 0)
                {
                    recibo nuevoRecibo = new recibo();
                    nuevoRecibo.idrecibo = 0;
                    nuevoRecibo.serie = oRecibo.serie;
                    nuevoRecibo.numero = oRecibo.numero;
                    nuevoRecibo.alumno = alumnoEncontrado;
                    db.recibo.Add(nuevoRecibo);
                    return db.SaveChanges();
                }
                else
                    return 0; //
            }
        }