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);
            }
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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.
        }
Esempio n. 5
0
 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);
 }
Esempio n. 6
0
        /// <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.");
     }
 }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        /// <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);
        }