コード例 #1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateServerCertificate);
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.LoginConocido);
            nombreConocido          = MainActivity.returnNombreConsultaEnrolado();
            nombreDesdeConfirmacion = ConfirmacionEnroladoActivity.returnNombreConsultaEnroladoConocido();

            nombreTitulo = nombreConocido;
            if (string.IsNullOrEmpty(nombreTitulo))
            {
                nombreTitulo = nombreDesdeConfirmacion;
            }

            string nombreLogin = nombreTitulo;

            nombreUsuario        = nombreLogin.Split(' ');
            primerNombreUsuario  = nombreUsuario[0].ToLower();
            segundoNombreUsuario = nombreUsuario[1].ToLower();

            parametriaLogUtil = new ParametriaLogUtil();
            string primeraLetraPrimerNombre    = primerNombreUsuario.Substring(0, 1).ToUpper();
            string restoPrimernombreFormateado = primerNombreUsuario.Substring(1, primerNombreUsuario.Length - 1);

            primerNombreFormateado = primeraLetraPrimerNombre + restoPrimernombreFormateado;
            if (!string.IsNullOrEmpty(segundoNombreUsuario))
            {
                string primeraLetraSegundoNombre    = segundoNombreUsuario.Substring(0, 1).ToUpper();
                string restoSegundonombreFormateado = segundoNombreUsuario.Substring(1, segundoNombreUsuario.Length - 1);
                segundoNombreFormateado = primeraLetraSegundoNombre + restoSegundonombreFormateado;
            }
            string nombreUserFormateado = primerNombreFormateado + " " + segundoNombreFormateado;

            rutConocido          = MainActivity.returnRutConsultaEnrolado();
            rutDesdeConfirmacion = ConfirmacionEnroladoActivity.returnRutConsultaEnroladoConocido();
            rutDefinitivo        = rutConocido;
            if (string.IsNullOrEmpty(rutDefinitivo))
            {
                rutDefinitivo = rutDesdeConfirmacion;
            }


            String nombreArchivo = "app-bco_security.sqlite";
            String rutaCarpeta   = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            String ruta          = System.IO.Path.Combine(rutaCarpeta, nombreArchivo);

            KEY_NAME = DatabaseHelper.pass(ruta);

            KeyguardManager    keyguardManager    = (KeyguardManager)GetSystemService(KeyguardService);
            FingerprintManager fingerprintManager = (FingerprintManager)GetSystemService(FingerprintService);

            if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.UseFingerprint) != (int)Android.Content.PM.Permission.Granted)
            {
                return;
            }

            if (!fingerprintManager.IsHardwareDetected)
            {
                //Toast.MakeText(ApplicationContext, "Lector de huella no habilitado", ToastLength.Long).Show();
            }
            else
            {
                if (!fingerprintManager.HasEnrolledFingerprints)
                {
                    //Toast.MakeText(ApplicationContext, "Debes enrolar tu huella a la app", ToastLength.Long).Show();
                }
                else
                {
                    if (!keyguardManager.IsKeyguardSecure)
                    {
                        Toast.MakeText(ApplicationContext, "No tienes habilitada la configuracion del scaner dactilar", ToastLength.Short).Show();
                    }
                    else
                    {
                        GenKey();
                    }

                    if (CipherInit())
                    {
                        FingerprintManager.CryptoObject cryptoObject = new FingerprintManager.CryptoObject(cipher);
                        FingerprintHandlerLogin         helperLogin  = new FingerprintHandlerLogin(this);
                        helperLogin.StartAuthentication(fingerprintManager, cryptoObject);
                    }
                }
            }

            txtUsernameConocido      = FindViewById <TextView>(Resource.Id.txtUsernameConocido);
            txtUsernameConocido.Text = "Hola, " + nombreUserFormateado;
            txtClaveConocido         = FindViewById <EditText>(Resource.Id.txtClaveConocido);
            lblMensajeConocido       = FindViewById <TextView>(Resource.Id.lblMensajeConocido);
            txtInputClaveConocido    = FindViewById <TextInputLayout>(Resource.Id.txtInputClaveConocido);

            btnIniciaSesionConocido        = FindViewById <Button>(Resource.Id.btnIniciaSesionConocido);
            btnIniciaSesionConocido.Click += BtnIniciaSesionConocido_ClickAsync;

            btnProblemasClaveConocido        = FindViewById <ImageView>(Resource.Id.btnProblemasClaveConocido);
            btnProblemasClaveConocido.Click += BtnProblemasClaveConocido_Click;
            txtClaveConocido.TextChanged    += TxtClaveConocido_TextChanged;
            btnAyudaLoginConocido            = FindViewById <ImageView>(Resource.Id.btnAyudaLoginConocido);


            var fontRegular  = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumRegular);
            var fontSemiBold = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumSemiBold);

            txtUsernameConocido.Typeface      = fontRegular;
            btnIniciaSesionConocido.Typeface  = fontSemiBold;
            txtClaveConocido.Typeface         = fontRegular;
            txtInputClaveConocido.Typeface    = fontRegular;
            lblMensajeConocido.Typeface       = fontRegular;
            lineTxtClaveConocido              = FindViewById <View>(Resource.Id.lineTxtClaveConocido);
            dialogoLoadingBcoSecurityActivity = new DialogoLoadingBcoSecurityActivity(this);
        }
コード例 #2
0
ファイル: HomeActivity.cs プロジェクト: pigm/onoff
        protected async override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Home);
            nombreConocido          = MainActivity.returnNombreConsultaEnrolado();
            nombreDesdeConfirmacion = ConfirmacionEnroladoActivity.returnNombreConsultaEnroladoConocido();
            // NotificacionesFragment NotificacionesFragment = new NotificacionesFragment();
            nombreTitulo = nombreConocido;
            if (string.IsNullOrEmpty(nombreTitulo))
            {
                nombreTitulo = nombreDesdeConfirmacion;
            }
            string nombreLogin = nombreTitulo;

            nombreUsuario        = nombreLogin.Split(' ');
            primerNombreUsuario  = nombreUsuario[0].ToLower();
            segundoNombreUsuario = nombreUsuario[1].ToLower();
            string primeraLetraPrimerNombre    = primerNombreUsuario.Substring(0, 1).ToUpper();
            string restoPrimernombreFormateado = primerNombreUsuario.Substring(1, primerNombreUsuario.Length - 1);

            primerNombreFormateado = primeraLetraPrimerNombre + restoPrimernombreFormateado;
            if (!string.IsNullOrEmpty(segundoNombreUsuario))
            {
                string primeraLetraSegundoNombre    = segundoNombreUsuario.Substring(0, 1).ToUpper();
                string restoSegundonombreFormateado = segundoNombreUsuario.Substring(1, segundoNombreUsuario.Length - 1);
                segundoNombreFormateado = primeraLetraSegundoNombre + restoSegundonombreFormateado;
            }
            string nombreUserFormateado = primerNombreFormateado + " " + segundoNombreFormateado;

            drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            btnBurger    = FindViewById <ImageView>(Resource.Id.btnBurger);
            btnCamapanaNotificaciones                   = FindViewById <ImageView>(Resource.Id.btnCamapanaNotificaciones);
            btnCamapanaNotificacionesNoLeida            = FindViewById <ImageView>(Resource.Id.btnCamapanaNotificacionesNoLeida);
            lblContadorNotificacionesNoLeidas           = FindViewById <TextView>(Resource.Id.lblContadorNotificacionesNoLeidas);
            relativeLayoutCampanaNotificacionesContador = FindViewById <RelativeLayout>(Resource.Id.relativeLayoutCampanaNotificacionesContador);
            notificacionesUtil = new NotificacionesUtil(this);
            preferenciasNotificacionesLeidas = new PreferenciasNotificacionesLeidas();
            listadoFinal = await notificacionesUtil.Llamarservicio(this, UtilAndroid.getRut());

            int contadorNotificaciones = preferenciasNotificacionesLeidas.getContadorNotificacionesNoLeidas(this, listadoFinal);

            if (contadorNotificaciones == 0)
            {
                relativeLayoutCampanaNotificacionesContador.Visibility = ViewStates.Gone;
                btnCamapanaNotificaciones.Visibility = ViewStates.Visible;
                btnCamapanaNotificaciones.Click     += BtnCamapanaNotificaciones_Click;
            }
            else
            {
                lblContadorNotificacionesNoLeidas.Text = contadorNotificaciones + string.Empty;
                relativeLayoutCampanaNotificacionesContador.Visibility = ViewStates.Visible;
                btnCamapanaNotificaciones.Visibility    = ViewStates.Gone;
                btnCamapanaNotificacionesNoLeida.Click += BtnCamapanaNotificacionesNoLeida_Click;
            }
            btnBurger.Click += BtnBurger_Click;
            var navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);

            navigationView.NavigationItemSelected += NavigationView_NavigationItemSelected;
            View hView = navigationView.GetHeaderView(cero);

            lblUsuarioMenu      = hView.FindViewById <TextView>(Resource.Id.lblUsuarioMenu);
            lblUsuarioMenu.Text = nombreUserFormateado;
            var fontRegular = Typeface.CreateFromAsset(Assets, rutaFuenteTitilium);
            var fontBold    = Typeface.CreateFromAsset(Assets, rutaFuenteTitiliumBold);

            lblUsuarioMenu.Typeface = fontRegular;
            cambiarFuenteMenu();
            var fragmentOnOff = FragmentManager.BeginTransaction();

            fragmentOnOff.AddToBackStack(null);
            fragmentOnOff.Add(Resource.Id.HomeLayout, new OnOffFragment());
            fragmentOnOff.Commit();
            dialogoLoadingBcoSecurityActivity = new DialogoLoadingBcoSecurityActivity(this);
        }
コード例 #3
0
ファイル: OnOffFragment.cs プロジェクト: pigm/onoff
        private async void generarPaginasCarrusel()
        {
            List <OnOffData> lstResult = new List <OnOffData>();

            rutConocido          = MainActivity.returnRutConsultaEnrolado();
            rutDesdeConfirmacion = ConfirmacionEnroladoActivity.returnRutConsultaEnroladoConocido();
            rutDefinitivo        = rutConocido;

            string idDispositivoLog = parametriaLogUtil.getIdDispositivoParaLog(getIMEI());
            string ipDispositivoLog = ParametriaLogUtil.GetIpLocal();

            if (string.IsNullOrEmpty(rutDefinitivo))
            {
                rutDefinitivo = rutDesdeConfirmacion;
            }
            // DialogoLoadingBcoSecurityActivity.mostrarViewLoadingSecurity(Activity);
            try{
                JsonValue jsonResponseAccessToken = await WebServiceSecurity.ServiciosSecurity.CallRESTaccessToken();

                if (!string.IsNullOrEmpty(jsonResponseAccessToken.ToString()))
                {
                    JsonValue token = jsonResponseAccessToken["access_token"];
                    string    imei  = this.getIMEI();
                    string    idDispositivoLogConsultaProductoNotificaciones = parametriaLogUtil.getIdDispositivoParaLog(imei);
                    string    ipDisposiivoLogConsultaProductoNotificaciones  = ParametriaLogUtil.GetIpLocal();
                    JsonValue jsonResponseConsultaProductoNotificaciones     = await WebServiceSecurity.ServiciosSecurity.CallRESTConsultaProductoNotificaciones(token, SecurityEndpoints.flagInicio, SecurityEndpoints.tamanoBloque, SecurityEndpoints.paginaConsultar, SecurityEndpoints.numeroRegistros, SecurityEndpoints.totalPaginas, SecurityEndpoints.ultimoRegistro, rutDefinitivo, idDispositivoLogConsultaProductoNotificaciones, ipDisposiivoLogConsultaProductoNotificaciones);

                    if (!string.IsNullOrEmpty(jsonResponseConsultaProductoNotificaciones.ToString()))
                    {
                        string jcpnStatus = jsonResponseConsultaProductoNotificaciones["statusCode"];

                        if (jcpnStatus.Equals("Success"))
                        {
                            JsonValue     productosBcoSecurity = jsonResponseConsultaProductoNotificaciones["ProductosNotificaciones"];
                            int           tarjetaProducto      = 0;
                            JArray        arregloProductos     = JArray.Parse(productosBcoSecurity.ToString());
                            List <JToken> listadoProductosBco  = arregloProductos.Children().ToList();
                            ProductoCard  pc = new ProductoCard();

                            foreach (var items in listadoProductosBco)
                            {
                                string    numeroProducto             = Convert.ToString(JObject.Parse(items.ToString())["numeroProducto"]).Trim();
                                string    codigoTipoProducto         = Convert.ToString(JObject.Parse(items.ToString())["codigoTipoProducto"]).Trim();
                                string    tipoProducto               = Convert.ToString(JObject.Parse(items.ToString())["tipoProducto"]).Trim();
                                string    glosaProducto              = Convert.ToString(JObject.Parse(items.ToString())["glosaProducto"]).Trim();
                                string    estadoNotificacionProducto = Convert.ToString(JObject.Parse(items.ToString())["estadoNotificacionProducto"]);
                                string    montoPesos           = Convert.ToString(JObject.Parse(items.ToString())["montoPesos"]);
                                string    montoDolar           = Convert.ToString(JObject.Parse(items.ToString())["montoDolar"]);
                                string    nombreTarjeta        = Convert.ToString(JObject.Parse(items.ToString())["nombreTarjeta"]).Trim();
                                JsonValue estadoTarjetaCredito = null;
                                JsonValue estadoTarjetaDebito  = null;

                                bool validadorAgregar = false;

                                if (tipoProducto.Equals("TARJETA DEBITO"))
                                {
                                    tarjetaProducto = Resource.Drawable.td;//imagen
                                    string pan           = numeroProducto;
                                    int    contadorFinal = pan.Length - 3;
                                    pan = pan.Substring(3, contadorFinal); // para redbank no se envia los ceros del comienzo.
                                    //(JsonValue token, string cceFi, string cceAbaBranch, string ccePan, string cceAccountType, string run, string idDispositivoApp, string ipOrigenApp)

                                    estadoTarjetaDebito = WebServiceSecurity.ServiciosSecurity.CallRESTCheckCardStatus(token, SecurityEndpoints.cceFi, SecurityEndpoints.cceAbaBranch, pan,
                                                                                                                       SecurityEndpoints.cceAccountType, rutDefinitivo,
                                                                                                                       idDispositivoLog,
                                                                                                                       ipDispositivoLog);


                                    string codigoEstadoDebito = estadoTarjetaDebito["statusCode"];
                                    if (codigoEstadoDebito != null && codigoEstadoDebito.Equals(TEXTO_ESTADO_SUCCESS))
                                    {
                                        validadorAgregar = true;
                                    }
                                }
                                else if (tipoProducto.Equals("TARJETA CREDITO"))
                                {
                                    if (glosaProducto.Equals("MASTER BLACK"))
                                    {
                                        tarjetaProducto = Resource.Drawable.tcb;//imagen
                                    }
                                    else if (glosaProducto.Equals("MASTER GOLD"))
                                    {
                                        tarjetaProducto = Resource.Drawable.tc;//imagen
                                    }
                                    estadoTarjetaCredito = WebServiceSecurity.ServiciosSecurity.CallRESTGetCardData(token, rutDefinitivo, numeroProducto,
                                                                                                                    idDispositivoLog, ipDispositivoLog);

                                    string codigoEstadoCredito = estadoTarjetaCredito["statusCode"];
                                    if (codigoEstadoCredito != null && codigoEstadoCredito.Equals(TEXTO_ESTADO_SUCCESS))
                                    {
                                        validadorAgregar = true;
                                    }
                                }

                                if (validadorAgregar == true)
                                {
                                    lstResult.Add(new OnOffData()
                                    {
                                        Pan                        = numeroProducto,
                                        ImageId                    = tarjetaProducto,
                                        TipoProducto               = tipoProducto,
                                        CodigoTipoProducto         = codigoTipoProducto,
                                        GlosaProducto              = glosaProducto,
                                        EstadoNotificacionProducto = estadoNotificacionProducto,
                                        MontoPesos                 = montoPesos,
                                        MontoDolar                 = montoDolar,
                                        NombreTarjeta              = nombreTarjeta,
                                        estadoTarjetaCredito       = estadoTarjetaCredito,
                                        estadoTarjetaDebito        = estadoTarjetaDebito
                                    });
                                }
                            }
                        }
                        else
                        {
                            DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity();
                            DialogoErrorActivity.mostrarViewErrorHome(this.Activity);
                        }
                    }
                    else
                    {
                        DialogoErrorActivity.mostrarViewErrorLoginEnrolado(this.Activity);
                    }
                }
                else
                {
                    DialogoErrorActivity.mostrarViewErrorLoginEnrolado(this.Activity);
                }
            }
            catch (System.Exception ex)
            {
                DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity();
                DialogoErrorActivity.mostrarViewErrorHome(this.Activity);
                Console.WriteLine(ex.Message);
            }

            adapterCarrusel            = new OnOffAdapter(this.Activity, lstResult);
            componenteCarrusel.Adapter = adapterCarrusel;
            DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity();
            //componenteCarrusel.Invalidate();
        }