private void ChecarFichasDeExonerados()
    {
        DBIngresosDataContext dbIng = new DBIngresosDataContext();
        DBEscolar.DBEscolarDataContext dbEsc = new DBEscolar.DBEscolarDataContext();

        var Alumnos = (from A in dbEsc.Alumnos
                      where A.Estatus > 1
                      select A).ToList();
        Exoneraciones.wsExoneraciones ws = new Exoneraciones.wsExoneraciones();
        ArrayList Matriculas = new ArrayList();
        int cont=0;
        foreach (DBEscolar.Alumno Alu in Alumnos)
        {
            cont += 1;
            if (ws.EstaExonerado(Alu.Matricula, "2013B"))
            {
                var Pagos = (from P in dbIng.Pagos
                             where P.AlumnoID == Alu.AlumnoID && P.Ciclo == "2013B" && P.Estatus > 0
                             select P).ToList();

                Matriculas.Add(Alu.Matricula);
            }
        }
        Response.Write(string.Join("','",Matriculas.ToArray()));
    }
    private bool TieneRecibosPendientes(int AlumnoID)
    {
        using (DBIngresosDataContext dbIngresos = new DBIngresosDataContext())
        {
            var Recibos = (from P in dbIngresos.Pagos
                           where P.AlumnoID == AlumnoID && P.Ciclo != Utils.CicloActual && (P.Estatus == 1 || P.Estatus == 2 || P.Estatus == 5)
                            && P.DetalleDePagos.Count(x => x.Clave == "A01") > 0
                           select P).ToList();

            return Recibos.Count() != 0;
        }
    }
Exemple #3
0
    public static bool GenerarReciboDePago(DBEscolar.Alumno Alumno, string Ciclo, bool AgregarLibros,out int folioPa,out Plantel Pla)
    {
        DBIngresosDataContext db = new DBIngresosDataContext();
        var Recibos = (from P in db.Pagos
                       where P.AlumnoID == Alumno.AlumnoID && P.Ciclo == Ciclo && (P.Estatus == 1 || P.Estatus == 2)
                        && P.DetalleDePagos.Count(x => x.Clave == "A01") > 0
                       select P).ToList();

        if (Recibos.Count() != 0)
        {//Ya esta generado{
            folioPa = 0;
            Pla = null;
            return true;
        }

        Pago Pago = new Pago();
        Pago.AlumnoID = Alumno.AlumnoID;
        Pago.Ciclo = Ciclo;
        Pago.Estatus = 1;
        Pago.FechaDeAlta = DateTime.Now;
        Pago.PlantelID = Alumno.PlantelID;
        Pago.Tipo = 0;
        Pago.Comentarios = "Generado por web";

        //Sacar el FOLIO
        DBEscolar.DBEscolarDataContext dbEsc = new DBEscolar.DBEscolarDataContext();
        var Plantel = (from P in dbEsc.Plantels
                       where P.PlantelID == Alumno.PlantelID
                       select P).FirstOrDefault();

        Pla = Plantel;

        if (Plantel == null)
        {//No debe de pasar
            folioPa = 0;
            return false;
        }

        int? Folio =0;
        byte zona = Plantel.Zona;
        byte plantel = Plantel.plantel;
           db.spEXEGetFolio(zona, plantel, ref Folio);

        Pago.Folio = (int)Folio;
        Pago.Referencia = string.Format("{0}{1:000}{2}{3:000000}", zona, plantel, Alumno.Matricula, Folio);
        Pago.Referencia += Utils.getVerificador(Pago.Referencia);

        bool Exonerado = EstaExonerado(Alumno.Matricula, Ciclo); //Matricula para reinscripcion / Folio si es nuevo ingreso

        DetalleDePago Detalle;

        //Cuota Semestral
        Detalle = new DetalleDePago();
        Detalle.Clave = "A01";
        Detalle.Concepto = "Cuota Semestral";
        if (zona == 1 && plantel == 9)
            Detalle.Monto = 163;
        else
            Detalle.Monto = 326;

        if (Exonerado)
        {
            Detalle.Monto = 0;
            Detalle.Concepto += " (EXONERADO)";
        }

        Pago.DetalleDePagos.Add(Detalle);

        //Servicio de Laboratorio y Taller
        Detalle = new DetalleDePago();
        if (!((zona == 1 && (plantel == 115 || plantel == 117 || plantel == 118 || plantel == 127)) ||
           (zona == 2 && (plantel == 69 || plantel == 71)) ||
           (zona == 4 && (plantel == 94 || plantel == 96 || plantel == 98)) ||
           (zona == 5 && plantel == 68)))
        {
            Detalle.Clave = "A20";
            Detalle.Concepto = "Servicio de Laboratorio y Taller";
            Detalle.Monto = 66.50m;
            Pago.DetalleDePagos.Add(Detalle);
        }

        //Cooperación Pro-Mantenimiento del Plantel
        Detalle = new DetalleDePago();
        Detalle.Clave = "A21";
        Detalle.Concepto = "Cooperación Pro-Mantenimiento del Plantel";
        Detalle.Monto = 66.50m;
        Pago.DetalleDePagos.Add(Detalle);

        //Cuota de Seguro Estudiantil
        Detalle = new DetalleDePago();
        Detalle.Clave = "A22";
        Detalle.Concepto = "Cuota de Seguro Estudiantil";
        Detalle.Monto = 40;
        Pago.DetalleDePagos.Add(Detalle);

        //LIBROS
        if (AgregarLibros)
        {
            Detalle = new DetalleDePago();
            switch (Alumno.Semestre)
            {

                case 2:
                    Detalle.Clave = "A16";
                    Detalle.Concepto = "PAQUETE DE LIBROS DE 2DO SEMESTRE";
                    Detalle.Monto = 520;
                    break;
                case 4:
                    Detalle.Clave = "A18";
                    Detalle.Concepto = "PAQUETE DE LIBROS DE 4TO SEMESTRE";
                    Detalle.Monto = 520;
                    break;
                case 6:
                    {
                        int cap =  getCap(Alumno);

                        Detalle.Clave = "A25";
                        Detalle.Concepto = "PAQUETE DE LIBROS DE 6TO SEMESTRE";

                        if (cap == 73 || cap == 80 || cap == 81)
                            Detalle.Monto = 578;
                        else Detalle.Monto = 520;
                        break;
                    }
            }
            if(Detalle.Clave != null)
                Pago.DetalleDePagos.Add(Detalle);
        }

        Pago.Total = Pago.DetalleDePagos.Sum(x => x.Monto);
        db.Pagos.InsertOnSubmit(Pago);

        try
        {
            db.SubmitChanges();
        }
        catch (Exception)
        {
            folioPa = 0;
            return false;
        }
        folioPa = Folio.Value;
        return true;
    }