public void actualizarSaldo(string saldoActualizado) { if (esTarjeta) { Tarjeta t = traerTarjetaAsociada(); t.monto = saldoActualizado; t.actualizarTarjeta(t); // Actualizamos el saldo de todas las cuentas EasyPay // asociadas a esa tarjeta. EasyPay e = new EasyPay(); e.actualizarMonto_compraConTarjeta(t.id, saldoActualizado); } else if (esEasyPay) { EasyPay ep = traerEasyPayAsociado(); ep.monto = saldoActualizado; ep.actualizar_easypay(ep); // Actualizamos el saldo de todas las tarjetas // asociadas a esa cuenta de EasyPay. Tarjeta t = new Tarjeta(); t.actualizarMonto_compraConEasyPay(ep.numeroCuenta, saldoActualizado); } }
public void actualizarTarjeta(Tarjeta tarjeta) { string stringDeConexion = Memoria.logica_database.stringDeConexion_baseDeDatos_pagos; string nombre_storedProcedure = "sp_tarjeta_actualizar"; Memoria.logica_database .querySimple(stringDeConexion , nombre_storedProcedure , this.parametros , return_valores(tarjeta)); }
/// <summary> /// Retorna el saldo actual del EasyPay. Lo calcula por medio /// de su tarjeta asociada. /// </summary> /// <returns>Saldo o monto actual.</returns> public string obtenerMontoActual() { Tarjeta t = traerTarjetaAsociada(); if (t == null) { throw new Exception("Tarjeta no fue encontrada."); } string monto = t.monto; return(monto); }
/// <summary> /// Trae una tarjeta de la base de datos segun el ID dado. /// </summary> /// <param name="id">ID de la tarjeta a traer</param> /// <returns>Retorna objeto Tarjeta solicitado por ID</returns> public Tarjeta traerTarjetaPorId(string id_tarjeta) { Tarjeta tarjeta = new Tarjeta(); List <Tarjeta> lista_tarjetas = tarjeta.traerTarjetas(); for (int i = 0; i < lista_tarjetas.Count; i++) { if (lista_tarjetas[i].id == id_tarjeta) { return(lista_tarjetas[i]); } } return(null); // Si no es encontrada retorna null. }
private string[] return_valores(Tarjeta tarjeta) { string[] valores = { tarjeta.id , tarjeta.usuarioId , tarjeta.numeroTarjeta , tarjeta.mesExpiracion , tarjeta.anioExpiracion , tarjeta.cvv , tarjeta.monto , tarjeta.tipo }; return(valores); }
/// <summary> /// Las cuentas EasyPay tienen una tarjeta asociada. Este /// metodo retorna la tarjeta asociada. /// </summary> /// <returns>Retorna la tarjeta asociada al EasyPay</returns> public Tarjeta traerTarjetaAsociada() { Tarjeta t = new Tarjeta(); List <Tarjeta> lista_tarjetas = t.traerTarjetas(); if (lista_tarjetas != null) { for (int i = 0; i < lista_tarjetas.Count; i++) { if (lista_tarjetas[i].id == this.numeroCuenta) { return(lista_tarjetas[i]); } } } return(null); // Si no encuentra la tarjeta asociada retorna null. }
/// <summary> /// Retorna el saldo actual del metodo de pago que estamos utilizando. /// </summary> /// <returns>Int:saldo actual</returns> public int obtenerSaldo() { if (esTarjeta) { Tarjeta tarjeta = traerTarjetaAsociada(); return(Int32.Parse(tarjeta.monto)); } else if (esEasyPay) { EasyPay ep = traerEasyPayAsociado(); return(Int32.Parse(ep.monto)); } else { throw new Exception("Elemento no encontrado."); } }
/// <summary> /// Regresa el numero de tarjeta asociada a la /// cuenta de EasyPay en formato "xxxx9383". /// </summary> /// <returns>String con numero de tarjeta /// formateada.</returns> public string obtenerNumeroTarjetaFormateada(EasyPay easyPay) { Tarjeta tarjeta = new Tarjeta(); tarjeta = tarjeta.traerTarjetaPorId(easyPay.numeroCuenta); string numeroTarjeta = tarjeta.numeroTarjeta; int length = numeroTarjeta.Length; // Pasamos el numero de tarjeta a formato "xxxx9281". string tarjetaFormateada = "xxxx" + Char.ToString(numeroTarjeta[length - 4]) + Char.ToString(numeroTarjeta[length - 3]) + Char.ToString(numeroTarjeta[length - 2]) + Char.ToString(numeroTarjeta[length - 1]); return(tarjetaFormateada); }
/// <summary> /// Cuando se realiza una compra con cuenta EasyPay, se reduce el saldo de la cuenta EasyPay. /// Por ende, debemos actualizar el saldo de las cuentas Tarjetas asociadas a la cuenta EasyPay /// utilizada para que el saldo sea el mismo en ambos registros. Recordemos que el saldo /// de las Tarjetas es exactamente el mismo que el de las cuentas EasyPay. /// </summary> /// <param name="easyPay_numeroCuenta">ID de la tarjeta con la que se ha efectuado el pago.</param> /// <param name="montoActualizado">Monto con el cual la tarjeta a terminado después /// de que se haya reducido su saldo.</param> internal void actualizarMonto_compraConEasyPay(string easyPay_numeroCuenta, string saldoActualizado) { Tarjeta t = new Tarjeta(); List <Tarjeta> lista_tarjetas = t.traerTarjetas(); if (lista_tarjetas != null) { for (int i = 0; i < lista_tarjetas.Count; i++) { if (lista_tarjetas[i].id == easyPay_numeroCuenta) { // actualizamos su monto y actualizamos el registro // en la base de datos. lista_tarjetas[i].monto = saldoActualizado; t.actualizarTarjeta(lista_tarjetas[i]); } } } }
/// <summary> /// Trae el registro de la tarjeta de la base de datos segun /// el ID guardado en metodoDePagoID. Retorna null si no es /// encontrado. /// </summary> /// <returns>Tarjeta o null</returns> private Tarjeta traerTarjetaAsociada() { string tarjeta_id = metodoDePagoID; if (!string.IsNullOrEmpty(tarjeta_id)) { Tarjeta tarjeta = new Tarjeta(); List <Tarjeta> lista_tarjetas = tarjeta.traerTarjetas(); if (lista_tarjetas != null) { for (int i = 0; i < lista_tarjetas.Count; i++) { if (lista_tarjetas[i].id == tarjeta_id) { esTarjeta = true; esEasyPay = false; return(lista_tarjetas[i]); } } } } return(null); }