public void SavePago(Pago pago) { try { dbCtx.Pagos.Add(pago); dbCtx.SaveChanges(); } catch (DbUpdateConcurrencyException) { ReloadEntity(pago); throw; } }
private Pago LlenaClase() { Pago pago = new Pago(); pago.PagoId = Utils.ToInt(IdTextBox.Text); bool resultado = DateTime.TryParse(fechaTextBox.Text, out DateTime fecha); pago.Fecha = fecha; pago.PersonaId = Utils.ToInt(PersonaDropDownList.SelectedValue); pago.Monto = Utils.ToInt(montoTextBox.Text); return(pago); }
public static void EjecutarResultadoPagoParcial(Pago pago) { if (pago.Cuenta.ConvenioActivo == null) pago.Cuenta.setearEstado( (pago.Cuenta.Estado.Equals(Parametros.GetByClave("ESTADOCUENTA.FIRMO-RECONOCIMIENTO")) || pago.Cuenta.Estado.Equals(Parametros.GetByClave("ESTADOCUENTA.JUICIO-CON-CONVENIO")) || pago.Cuenta.Estado.Equals(Parametros.GetByClave("ESTADOCUENTA.JUICIO-CON-PAGOS-PARCIALES")) || pago.Cuenta.Estado.Equals(Parametros.GetByClave("ESTADOCUENTA.JUICIO-EJECUTIVO-INICIADO")) || pago.Cuenta.Estado.Equals(Parametros.GetByClave("ESTADOCUENTA.JUICIO-CON-PROMESA"))) ? Parametros.GetByClave("ESTADOCUENTA.JUICIO-CON-PAGOS-PARCIALES") : Parametros.GetByClave("ESTADOCUENTA.CTA.-CON-PAGOS-PARCIALES")); else pago.Cuenta.setearEstado(Parametros.GetByClave("ESTADOCUENTA.FIRMO-RECONOCIMIENTO")); }
/// <summary> /// Este método representa el punto de entrada a la api de Resultado de Pago. /// Se maneja como un método estático que obtiene todos lo que se necesita /// desde sus párametros y con ello define qué pago.Tipo se debe ejecutar y /// aplicar las acciones asociadas al mismo. Aqui no se capturan excepciones /// para se que vuelvan a la clase de gestión. /// IMPORTANTE: el pago.Tipo de un Pago se ejecuta DESPUES!! de que el mismo /// se ha cerrado y agregado a la cuenta asociada. Esto es así para que, si /// si la aplicación del pago.Tipo falla, el pago no se modifique y ya quede /// aplicado. IMPORTANTE2: NO OBSTANTE, COMBIENE VERIFICAR EL RESULTADO Y QUE /// DEBE Y PUEDE EJECUTARSE Y RECIEN DESPUES HACER CAMBIOS!!!!!!!!!!!. /// </summary> /// <param name="pago"> /// El pago cuyo ingreso genera la ejecución de un pago.Tipo. /// </param> public static void EjecutarResultado(Pago pago) { // Primero se ejecuta la parte propia de cada pago.Tipo //if (pago.Tipo.Clave.Equals("TIPOPAGO.PAGOCUOTA")) // EjecutarResultadoPagoCuota(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.PARCIAL")) // EjecutarResultadoPagoParcial(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.SUCURSAL")) // EjecutarResultadoPagoSucursal(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.CANCELACION")) // EjecutarResultadoCancelacion(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.CANCELAQUITA")) // EjecutarResultadoCancelaQuita(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.ANTICIPO")) // EjecutarResultadoAnticipo(pago); //else if (pago.Tipo.Clave.Equals("TIPOPAGO.JUDICIAL")) // EjecutarResultadoJudicial(pago); }
public override void OnLoad() { if (this.Registro != null) { this.Numero = System.Convert.ToInt32(m_Registro["numero"]); this.PV = System.Convert.ToInt32(m_Registro["pv"]); if (m_Registro["id_concepto"] != null) this.Concepto = new Lbl.Cajas.Concepto(this.Connection, this.GetFieldValue<int>("id_concepto")); else this.Concepto = null; if (m_Registro["concepto"] != null) this.ConceptoTexto = m_Registro["concepto"].ToString(); else this.ConceptoTexto = string.Empty; this.Cobros = new ColeccionDeCobros(); this.Pagos = new ColeccionDePagos(); // Cargo pagos asociados al registro // Pagos en efectivo using (System.Data.DataTable TablaPagos = Connection.Select("SELECT * FROM cajas_movim WHERE id_caja=" + Lfx.Workspace.Master.CurrentConfig.Empresa.CajaDiaria.ToString() + " AND id_recibo=" + Id.ToString())) { foreach (System.Data.DataRow Pago in TablaPagos.Rows) { decimal ImporteCaja = System.Convert.ToDecimal(Pago["importe"]); if (this.DePago && ImporteCaja < 0) { Pago Pg = new Pago(this.Connection, Lbl.Pagos.TiposFormasDePago.Efectivo, -ImporteCaja); Pg.Recibo = this; Pagos.Add(Pg); } else if (this.DePago == false && ImporteCaja > 0) { Cobro Cb = new Cobro(this.Connection, Lbl.Pagos.TiposFormasDePago.Efectivo, ImporteCaja); Cb.Recibo = this; Cobros.Add(Cb); } } } // Pagos con cheque using (System.Data.DataTable TablaPagos = this.Connection.Select("SELECT * FROM bancos_cheques WHERE (id_recibo=" + this.Id.ToString() + " OR id_recibo_pago=" + this.Id.ToString() + ")")) { foreach (System.Data.DataRow Pago in TablaPagos.Rows) { Bancos.Cheque Ch = new Lbl.Bancos.Cheque(Connection, (Lfx.Data.Row)Pago); if (this.DePago) Ch.ReciboPago = this; else Ch.ReciboCobro = this; if (this.DePago) Pagos.Add(new Pago(Ch)); else Cobros.Add(new Cobro(Ch)); } } // Pagos con Tarjetas de Crédito y Débito using (System.Data.DataTable TablaPagos = this.Connection.Select("SELECT id_cupon FROM tarjetas_cupones WHERE id_recibo=" + Id.ToString())) { foreach (System.Data.DataRow Pago in TablaPagos.Rows) { Pagos.Cupon Cp = new Pagos.Cupon(Connection, System.Convert.ToInt32(Pago["id_cupon"])); Cobros.Add(new Cobro(Cp)); } } // Acreditaciones en cuenta regular (excepto caja diaria) using (System.Data.DataTable TablaPagos = this.Connection.Select("SELECT * FROM cajas_movim WHERE auto=1 AND id_caja<>" + Lfx.Workspace.Master.CurrentConfig.Empresa.CajaDiaria.ToString() + " AND id_caja<>" + Lfx.Workspace.Master.CurrentConfig.Empresa.CajaCheques.ToString() + " AND id_recibo=" + this.Id.ToString())) { foreach (System.Data.DataRow Pago in TablaPagos.Rows) { if (this.DePago) { Pago Pg = new Pago(this.Connection, Lbl.Pagos.TiposFormasDePago.Caja, Math.Abs(System.Convert.ToDecimal(Pago["importe"]))); Pg.Recibo = this; Pg.CajaOrigen = new Cajas.Caja(Connection, System.Convert.ToInt32(Pago["id_caja"])); Pagos.Add(Pg); } else { Cobro Cb = new Cobro(this.Connection, Lbl.Pagos.TiposFormasDePago.Caja, System.Convert.ToDecimal(Pago["importe"])); Cb.Recibo = this; Cb.CajaDestino = new Cajas.Caja(Connection, System.Convert.ToInt32(Pago["id_caja"])); Cobros.Add(Cb); } } } // Otros valores using (System.Data.DataTable TablaPagos = this.Connection.Select("SELECT id_valor FROM pagos_valores WHERE id_recibo=" + Id.ToString())) { foreach (System.Data.DataRow Pago in TablaPagos.Rows) { Lbl.Pagos.Valor Vl = new Lbl.Pagos.Valor(Connection, System.Convert.ToInt32(Pago["id_valor"])); Vl.Recibo = this; if (this.DePago) Pagos.Add(new Pago(Vl)); else Cobros.Add(new Cobro(Vl)); } } } base.OnLoad(); }
public static void EjecutarResultadoPagoSucursal(Pago pago) { pago.Cuenta.setearEstado((pago.Cuenta.ConvenioActivo != null) ? Parametros.GetByClave("ESTADOCUENTA.CTA.-REF.-PAGA-EN-CLIENTE") : Parametros.GetByClave("ESTADOCUENTA.PAGO-EN-SUCURSAL")); }
public static void EjecutarResultadoPagoCuota(Pago pago) { if (pago.Cuenta.ConvenioActivo != null) pago.Cuenta.setearEstado(Parametros.GetByClave("ESTADOCUENTA.FIRMO-RECONOCIMIENTO")); }
public static void EjecutarResultadoCancelacion(Pago pago) { pago.Cuenta.setearEstado(Parametros.GetByClave("ESTADOCUENTA.CANCELACION-TOTAL-DE-DEUDA")); }
private static void EjecutarResultadoJudicial(Pago pago) { pago.Cuenta.setearEstado(Parametros.GetByClave("ESTADOCUENTA.CUENTA-CON-EMBARGO")); }
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; }
public Pago ModificarPago(Pago pago) { return ObjPago.Modificar(pago); }
public Pago CrearPago(Pago pago) { return ObjPago.Crear(pago); }