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; } }
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; }