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(); }
/// Metodo que envia los rescursos de la lista al adaptador. public async override void OnActivityCreated(Bundle savedInstanceState) { base.OnActivityCreated(savedInstanceState); setUpViews(); dialogoLoadingBcoSecurityActivity.mostrarViewLoadingSecurity(); await notificacionesUtil.Llamarservicio(this.Activity, UtilAndroid.getRut()); DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity(); var agrupacion = notificacionesUtil.NotificacionesPorFecha(); listadoFinal = new List <Notificacion>(); foreach (var grupo in agrupacion) { var notifFecha = new Notificacion(); notifFecha.esFecha = true; DateTime fecha = DateTime.Parse(grupo.Key, CultureInfo.CurrentCulture); var mes = NombreMes(fecha.Month); var fechaFormat = fecha.Day + " " + mes; notifFecha.mensajeNotificacion = fechaFormat; listadoFinal.Add(notifFecha); listadoFinal.AddRange(grupo.ToList()); } adapterHistoricoNotificaciones = new NotificacionesAdapter(Activity, listadoFinal); NotificacionesListView.Adapter = adapterHistoricoNotificaciones; NotificacionesListView.ItemClick += (sender, e) => { Bean.Notificacion notiSelected = adapterHistoricoNotificaciones.GetNotificacion(e.Position); foreach (var notificacion in listadoFinal) { if (notificacion.idNotificacion == notiSelected.idNotificacion) { if (notificacion.estado) { notificacion.estado = false; } else { notificacion.estado = true; } } } listNotificacionLeidas = preferenciasNotificacionesLeidas.obneterListadoDeNotificacionesLeidas(Activity); if (listNotificacionLeidas.Count == 0) { if (listNotificacionLeidas == null) { listNotificacionLeidas.Remove(null); } preferenciasNotificacionesLeidas.guardarPreferencia(Activity, notiSelected.idNotificacion); } else { foreach (string notificacionLeida in listNotificacionLeidas) { if (!notificacionLeida.Equals(notiSelected.idNotificacion)) { preferenciasNotificacionesLeidas.guardarPreferencia(Activity, notiSelected.idNotificacion); } } } if (listNotificacionLeidas != null || listNotificacionLeidas.Count != 0) { int contadorDeNotificacionesRefrescado = preferenciasNotificacionesLeidas.getContadorNotificacionesNoLeidas(Activity, listadoFinal); lblContadorNotificacionesNoLeidas = Activity.FindViewById <TextView>(Resource.Id.lblContadorNotificacionesNoLeidas); lblContadorNotificacionesNoLeidas.Text = contadorDeNotificacionesRefrescado + string.Empty; } adapterHistoricoNotificaciones.NotifyDataSetChanged(); }; lblMarcarComoLeida.Click += delegate { foreach (var notificacion in listadoFinal) { listNotificacionLeidas = preferenciasNotificacionesLeidas.obneterListadoDeNotificacionesLeidas(Activity); if (listNotificacionLeidas.Count == 0) { if (listNotificacionLeidas == null) { listNotificacionLeidas.Remove(null); } preferenciasNotificacionesLeidas.guardarPreferencia(Activity, notificacion.idNotificacion); } else { preferenciasNotificacionesLeidas.guardarPreferencia(Activity, notificacion.idNotificacion); } notificacion.estado = true; } relativeLayoutCampanaNotificacionesContador.Visibility = ViewStates.Gone; btnCamapanaNotificaciones.Visibility = ViewStates.Visible; adapterHistoricoNotificaciones.NotifyDataSetChanged(); }; }
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); }
// GUARDAR ESTADO CANALES private async void guardarDatosCanales(string token, string pan, string cpcEstadoPos, string cpcEstadoAtm, string cpcEstadoEcom, string cpcEstadoMoto, int positionActual) { try { JsonValue jsonResponseOnOffCardStatus = await WebServiceSecurity.ServiciosSecurity.CallRESTChangePaymentChannels (token, pan, cpcEstadoPos, cpcEstadoAtm, cpcEstadoEcom, cpcEstadoMoto, UtilAndroid.getRut(), parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(activity)), ParametriaLogUtil.GetIpLocal()); if (!string.IsNullOrEmpty(jsonResponseOnOffCardStatus.ToString())) { string codigoRespuesta = jsonResponseOnOffCardStatus["statusCode"]; if (codigoRespuesta.Equals(ConstantesOnOff.TEXTO_ESTADO_SUCCESS)) { OnOffData elementoActual = datosTarjeta[positionActual]; elementoActual.estadoTarjetaCredito["estadoPos"] = cpcEstadoPos; elementoActual.estadoTarjetaCredito["estadoEcom"] = cpcEstadoEcom; elementoActual.estadoTarjetaCredito["estadoAtm"] = cpcEstadoAtm; elementoActual.estadoTarjetaCredito["estadoMoto"] = cpcEstadoMoto; } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } catch (System.Exception x) { Console.WriteLine(x); DialogoErrorActivity.mostrarViewError(activity); } }
private async void guardarEstadoTarjetaDebito(int position, bool estadoTarjeta, string estadoTarjetaRequest, string token, string pan) { dialogoLoadingBcoSecurityActivity.mostrarViewLoadingSecurity(); View view = listadoItemsView[position]; TextView statusCard = view.FindViewById <TextView>(Resource.Id.lblStatusCard); TextView lblInfo = view.FindViewById <TextView>(Resource.Id.lblInfo); int contadorFinal = pan.Length - 3; pan = pan.Substring(3, contadorFinal); // para redbank no se envia los ceros del comienzo. try { JsonValue jsonResponseOnOffCardStatus = await WebServiceSecurity.ServiciosSecurity.CallRESTOnOffCardStatus (token, SecurityEndpoints.oceFi, SecurityEndpoints.oceAbaBranch, pan, SecurityEndpoints.oceAccountType, estadoTarjetaRequest, UtilAndroid.getRut(), parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(activity)), ParametriaLogUtil.GetIpLocal()); if (!string.IsNullOrEmpty(jsonResponseOnOffCardStatus.ToString())) { string codigoRespuesta = jsonResponseOnOffCardStatus["statusCode"]; if (codigoRespuesta.Equals(ConstantesOnOff.TEXTO_ESTADO_SUCCESS) && estadoTarjeta) { statusCard.Text = ConstantesOnOff.TEXTO_ESTADO_ON; statusCard.SetTextColor(statusCard.Context.Resources.GetColor(Resource.Color.green)); lblInfo.Text = ConstantesOnOff.GLOSA_DEBITO_ON; DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity(); } else if (codigoRespuesta.Equals(ConstantesOnOff.TEXTO_ESTADO_SUCCESS) && !estadoTarjeta) { statusCard.Text = ConstantesOnOff.TEXTO_ESTADO_OFF; statusCard.SetTextColor(statusCard.Context.Resources.GetColor(Resource.Color.red)); lblInfo.Text = ConstantesOnOff.GLOSA_DEBITO_OFF; DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity(); } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } catch (System.Exception x) { Console.WriteLine(x); DialogoErrorActivity.mostrarViewError(activity); } }
// GUARDAR ESTADOS TARJETA private async void guardarEstadoTarjetaCredito(int position, bool estadoTarjeta, string estadoTarjetaRequest, string token, string pan) { dialogoLoadingBcoSecurityActivity.mostrarViewLoadingSecurity(); View view = listadoItemsView[position]; TextView statusCard = view.FindViewById <TextView>(Resource.Id.lblStatusCard); TextView lblInfo = view.FindViewById <TextView>(Resource.Id.lblInfo); try { JsonValue jsonResponseOnOffCardStatus = await WebServiceSecurity.ServiciosSecurity.CallRESTSetEnable(token, pan, estadoTarjetaRequest, UtilAndroid.getRut(), parametriaLogUtil.getIdDispositivoParaLog(UtilAndroid.getIMEI(activity)), ParametriaLogUtil.GetIpLocal()); if (!string.IsNullOrEmpty(jsonResponseOnOffCardStatus.ToString())) { string codigoRespuesta = jsonResponseOnOffCardStatus["statusCode"]; if (codigoRespuesta.Equals(ConstantesOnOff.TEXTO_ESTADO_SUCCESS) && estadoTarjeta) { statusCard.Text = ConstantesOnOff.TEXTO_ESTADO_ON; statusCard.SetTextColor(statusCard.Context.Resources.GetColor(Resource.Color.green)); lblInfo.Text = ConstantesOnOff.GLOSA_CREDITO_ON; OnOffData elementoActual = datosTarjeta[position]; elementoActual.estadoTarjetaCredito["estado"] = ConstantesOnOff.ESTADO_ACTIVADO_1; cambiarEstadoPanelCanales(position, statusCard.Text); DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity(); } else if (codigoRespuesta.Equals(ConstantesOnOff.TEXTO_ESTADO_SUCCESS) && !estadoTarjeta) { statusCard.Text = ConstantesOnOff.TEXTO_ESTADO_OFF; statusCard.SetTextColor(statusCard.Context.Resources.GetColor(Resource.Color.red)); lblInfo.Text = ConstantesOnOff.GLOSA_CREDITO_OFF; OnOffData elementoActual = datosTarjeta[position]; elementoActual.estadoTarjetaCredito["estado"] = ConstantesOnOff.ESTADO_DESACTIVADO_0; cambiarEstadoPanelCanales(position, statusCard.Text); DialogoLoadingBcoSecurityActivity.ocultarLoadingSecurity(); } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } else { DialogoErrorActivity.mostrarViewErrorHome(activity); } } catch (System.Net.WebException ex) { Console.WriteLine(ex); DialogoErrorActivity.mostrarViewErrorHome(activity); } catch (ArgumentException ax) { Console.WriteLine(ax); DialogoErrorActivity.mostrarViewErrorHome(activity); } }