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);
            }
        }
        private BLL.Objeto.EasyPay contruirObjetoEasyPay()
        {
            BLL.Objeto.EasyPay EasyPay_temporal = new BLL.Objeto.EasyPay();

            // Capturamos los datos.
            string id              = Tareas.generar_nuevo_id_para_un_registro();
            string id_usuario      = Memoria.sesionUsuarioDatos.id;
            string id_tarjeta      = Textbox_idTarjeta.Text;
            string codigoSeguridad = EasyPay_temporal.generarCodigoDeSeguridad();
            string contrasenia     = TextBox_contraseniaNueva.Text;
            string monto           = "NA";

            // Creamos el EasyPay a guardar.
            BLL.Objeto.EasyPay EasyPay_return = new BLL.Objeto.EasyPay(
                id
                , id_usuario
                , id_tarjeta
                , codigoSeguridad
                , contrasenia
                , monto);

            // Una vez establecido su tarjeta asociada podemos obtener el monto
            // reflejo de dicha tarjeta.
            monto = EasyPay_return.obtenerMontoActual();
            EasyPay_return.monto = monto;

            return(EasyPay_return);
        }
        private void guardarCuentaEasyPay()
        {
            // Creamos el objeto EasyPay a guardar.
            BLL.Objeto.EasyPay easyPay_paraGuardar =
                contruirObjetoEasyPay();

            // Guardamos la cuenta EasyPay.
            easyPay_paraGuardar.guardar_easyPay(easyPay_paraGuardar);
            label_status("", false, "Cuenta EasyPay creada con exito.", true);
        }
示例#4
0
        public void actualizar_easypay(EasyPay easypay)
        {
            string stringDeConexion       = Memoria.logica_database.stringDeConexion_baseDeDatos_pagos;
            string nombre_storedProcedure = "sp_easypay_actualizar";

            Memoria.logica_database
            .querySimple(stringDeConexion
                         , nombre_storedProcedure
                         , this.parametros
                         , return_valores(easypay));
        }
示例#5
0
 private string[] return_valores(EasyPay easypay)
 {
     string[] valores =
     {
         easypay.id
         , easypay.IDusuario
         , easypay.numeroCuenta
         , easypay.codigoSeguridad
         , easypay.contrasenia
         , easypay.monto
     };
     return(valores);
 }
示例#6
0
        /// <summary>
        /// Trae un registro de EasyPay en forma de objeto dando como parametro
        /// su ID,
        /// </summary>
        /// <param name="id">ID del EasyPay</param>
        /// <returns>Objeto EasyPay cuyo ID concuerde.</returns>
        public EasyPay traerEasyPay_porID(string id)
        {
            EasyPay        e             = new EasyPay();
            List <EasyPay> lista_easyPay = traer_easyPays();

            if (lista_easyPay != null)
            {
                for (int i = 0; i < lista_easyPay.Count; i++)
                {
                    if (lista_easyPay[i].id == id)
                    {
                        return(lista_easyPay[i]);
                    }
                }
            }
            return(null); // Retorna null si no se encontró.
        }
 /// <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.");
     }
 }
示例#8
0
        /// <summary>
        /// Elimina de la base de datos todos los EasyPay que esten asociados a
        /// una tarjeta. Este metodo se utiliza cuando una tarjeta es eliminada
        /// del sistema y, por ende, los EasyPays asociados a esa tarjeta deben
        /// ser eliminados tambien.
        /// </summary>
        /// <param name="tarjetaId">ID de la tarjeta que se ha eliminado
        /// del sistema.</param>
        public void eliminarEasyPays_asociadosATarjetaID(string tarjetaId)
        {
            // Se traen los EasyPay de la base de datos.
            EasyPay        e             = new EasyPay();
            List <EasyPay> listaEasyPays = e.traer_easyPays();

            if (listaEasyPays != null)
            {
                for (int i = 0; i < listaEasyPays.Count; i++)
                {
                    // El número de cuenta es el ID de la tarjeta.
                    if (listaEasyPays[i].numeroCuenta == tarjetaId)
                    {
                        e.eliminar_easypay(listaEasyPays[i].id);
                    }
                }
            }
        }
示例#9
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);
        }
示例#10
0
        /// <summary>
        /// Cuando se realiza una compra con una tarjeta, se reduce el saldo de la tarjeta.
        /// Por ende, debemos actualizar el saldo de las cuentas EasyPay asociadas a la tarjeta
        /// utilizada para que el saldo sea el mismo en ambos registros. Recordemos que el saldo
        /// de los EasyPay es exactamente el mismo que el de las tarjetas.
        /// </summary>
        /// <param name="tarjetaId">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>
        public void actualizarMonto_compraConTarjeta(string tarjetaId, string montoActualizado)
        {
            EasyPay        e             = new EasyPay();
            List <EasyPay> listaEasyPays = e.traer_easyPays();

            if (listaEasyPays != null)
            {
                for (int i = 0; i < listaEasyPays.Count; i++)
                {
                    // si es una cuenta asociada a la tarjeta.
                    if (listaEasyPays[i].numeroCuenta == tarjetaId)
                    {
                        // actualizamos su monto y actualizamos el registro
                        // en la base de datos.
                        listaEasyPays[i].monto = montoActualizado;
                        e.actualizar_easypay(listaEasyPays[i]);
                    }
                }
            }
        }
        /// <summary>
        /// Trae el registro de EasyPay de la base de datos segun
        /// el ID guardado en metodoDePagoID. Retorna null si no es
        /// encontrado.
        /// </summary>
        /// <returns>EasyPay o null</returns>
        private EasyPay traerEasyPayAsociado()
        {
            string easyPay_id = metodoDePagoID;

            if (!string.IsNullOrEmpty(easyPay_id))
            {
                EasyPay        easypay        = new EasyPay();
                List <EasyPay> lista_easyPays = easypay.traer_easyPays();

                if (lista_easyPays != null)
                {
                    for (int i = 0; i < lista_easyPays.Count; i++)
                    {
                        if (lista_easyPays[i].id == easyPay_id)
                        {
                            esEasyPay = true;
                            esTarjeta = false;
                            return(lista_easyPays[i]);
                        }
                    }
                }
            }
            return(null);
        }