예제 #1
0
        //Metodo llama al integrador con la informacion de un deposito. Devuelve true or false dependiendo del exito o no
        public static bool hacerDeposito(Deposito deposito)
        {
            try
            {
                //objeto SoapClient del webService
                Integrador.TellerServicesSoapClient requestCliente = new Integrador.TellerServicesSoapClient();

                //Llama al metodo del integrador y guarda el resultado
                bool result = requestCliente.hacerDeposito(deposito.Monto, deposito.Cuenta.id, deposito.CedulaDepositante, deposito.Concepto);

                //Si el integrador no pudo hacer el deposito
                if (!result)
                {
                    return(false);
                }
            }

            //Si hubo un error conectandose al integrador
            catch (Exception ex)
            {
                log.Fatal(ex.ToString());
                return(false);
            }
            return(true);
        }
예제 #2
0
        //Metodo devuelve una Instancia Cliente en base a la cedula
        public static Cliente getCliente(string cedula)
        {
            //objeto cliente para devolver
            Cliente cliente = new Cliente();


            try
            {
                //objeto SoapClient del webService
                Integrador.TellerServicesSoapClient requestCliente = new Integrador.TellerServicesSoapClient();
                //Instancia el objeto del servicio al recibido por el request
                Integrador.Cliente clienteRecibido = requestCliente.getCliente(cedula);

                if (clienteRecibido != null)
                {
                    //Recibe la imagen como un string base 64, y la convierte a un byte[] y luego a un Stream
                    string base64String = clienteRecibido.foto;
                    byte[] foto         = Convert.FromBase64String(base64String);
                    var    ms           = new MemoryStream(foto);


                    //Iguala las propiedades de del objeto recibido del request al  objeto de la clase
                    //Cliente local
                    cliente.Nombre   = clienteRecibido.nombre;
                    cliente.Apellido = clienteRecibido.apellido;
                    cliente.Cedula   = clienteRecibido.cedula;
                    //Desde el stream a un objeto foto
                    cliente.FotoPerfil      = Image.FromStream(ms);
                    cliente.FechaNacimiento = clienteRecibido.fechaNacimiento;
                    cliente.Nacionalidad    = clienteRecibido.nacionalidad;
                }

                //Si el integrador no encontro el cliente
                else
                {
                    cliente = null;
                }
            }
            //Handlea una excepcion tirada por un metodo del Soapclient, devuelve null
            catch (Exception ex)
            {
                log.Fatal(ex.ToString());
                Debug.WriteLine(ex.ToString());
                return(null);
            }

            return(cliente);
        }
예제 #3
0
        public static Cuenta getCuenta(int id)
        {
            //Instancia de la clase cuenta a devolver
            Cuenta cuenta = new Cuenta();


            try
            {
                //objeto cliente del webService
                Integrador.TellerServicesSoapClient requestCuenta = new Integrador.TellerServicesSoapClient();
                //instancia del objeto del servicio al recibido por el request
                Integrador.Cuenta cuentaRecibida = requestCuenta.getCuenta(id);


                //Si se encontro la cuenta
                if (cuentaRecibida != null)
                {
                    //Asigna cada uno de los valores de la cuenta recibida a la cuenta output
                    cuenta.Balance       = cuentaRecibida.balance;
                    cuenta.CedulaCliente = cuentaRecibida.cedulaCliente;
                    cuenta.id            = cuentaRecibida.id;
                    cuenta.IdCliente     = cuentaRecibida.idCliente;
                    cuenta.Moneda        = cuentaRecibida.TipoMoneda;
                }

                //De lo contrario, debe devolver que la cuenta no existe
                else
                {
                    return(null);
                }
            }

            //En caso de no tener internet(por ejemplo), entra aqui
            catch (Exception ex)
            {
                log.Fatal(ex.ToString());
                Debug.WriteLine(ex);
                return(null);
            }



            return(cuenta);
        }
예제 #4
0
        //Metodo llama al integrador con la informacion de un retiro. Devuelve true or false dependiendo del exito o no
        //Este metodose llama para confirmar un retiro(Luego de que se hayan hecho todas las validaciones)
        public static bool hacerRetiro(Retiro retiro)
        {
            try
            {
                //objeto cliente del webService
                Integrador.TellerServicesSoapClient requestCliente = new Integrador.TellerServicesSoapClient();
                bool result = requestCliente.hacerRetiro(retiro.Cuenta.id, retiro.Monto);

                //si por alguna razon el hay algun problema con el integrador, devuelve false
                if (!result)
                {
                    return(false);
                }
            }
            //Si no se pudo hacer la conexion al integrador
            catch (Exception ex)
            {
                log.Fatal(ex.ToString());
                Debug.WriteLine(ex.ToString());
                return(false);
            }

            return(true);
        }