Ejemplo n.º 1
0
        public static IList <T> DeserializeToList <T>(string jsonString)
        {
            ProductoCard productoCard = new ProductoCard();

            InvalidJsonElements = null;
            var       array       = JArray.Parse(jsonString);
            IList <T> objectsList = new List <T>();

            foreach (var item in array)
            {
                try
                {
                    objectsList.Add(item.ToObject <T>());
                }
                catch (Exception ex)
                {
                    InvalidJsonElements = InvalidJsonElements ?? new List <string>();
                    InvalidJsonElements.Add(item.ToString());
                }
            }
            return(objectsList);
        }
Ejemplo n.º 2
0
        private async void generarPaginasCarrusel()
        {
            List <OnOffData> lstResult = new List <OnOffData>();

            // DialogoLoadingBcoSecurityActivity.mostrarViewLoadingSecurity(Activity);
            try{
                JsonValue jsonResponseAccessToken = await WebServiceSecurity.ServiciosSecurity.CallRESTaccessToken();

                if (!string.IsNullOrEmpty(jsonResponseAccessToken.ToString()))
                {
                    JsonValue token = jsonResponseAccessToken["access_token"];

                    JsonValue jsonResponseConsultaProductoNotificaciones = await WebServiceSecurity.ServiciosSecurity.CallRESTConsultaProductoNotificaciones(token, SecurityEndpoints.flagInicio, SecurityEndpoints.tamanoBloque, SecurityEndpoints.paginaConsultar, SecurityEndpoints.numeroRegistros, SecurityEndpoints.totalPaginas, SecurityEndpoints.ultimoRegistro, UtilAndroid.getRut(), parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(this.Activity)), ParametriaLogUtil.GetIpLocal());

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

                        if (jcpnStatus.Equals(ConstantesOnOff.TEXTO_ESTADO_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;
                                    string pan           = numeroProducto;
                                    int    contadorFinal = pan.Length - 3;
                                    pan = pan.Substring(3, contadorFinal); // para redbank no se envia los ceros del comienzo.

                                    estadoTarjetaDebito = WebServiceSecurity.ServiciosSecurity.CallRESTCheckCardStatus(token, SecurityEndpoints.cceFi, SecurityEndpoints.cceAbaBranch, pan,
                                                                                                                       SecurityEndpoints.cceAccountType, UtilAndroid.getRut(),
                                                                                                                       parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(this.Activity)),
                                                                                                                       ParametriaLogUtil.GetIpLocal());


                                    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, UtilAndroid.getRut(), numeroProducto,
                                                                                                                    parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(this.Activity)), ParametriaLogUtil.GetIpLocal());

                                    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
                                    });
                                }
                            }
                            DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity();
                        }
                        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);
            componenteCarrusel.Adapter = adapterCarrusel;
            DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity();
        }