/// <summary> /// Ons the create. /// </summary> /// <param name="savedInstanceState">Saved instance state.</param> protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); //BroadcastProductosPendientes(); BroadcastProduct(); BroadcastPendientesNoFinalizados(); DataManager.FechaHoy = DateTime.Now.DayOfYear; SetContentView(Resource.Layout.main_activity); if (ValidationUtils.GetNetworkStatus()) { await GetLocationCompatAsync(); loading(); await PerfilarAsync(); AppCenter.Start(Constantes.KEY_APP_CENTER, typeof(Analytics), typeof(Crashes)); } else { Android.App.AlertDialog.Builder builder = new Android.App.AlertDialog.Builder(this); builder.SetTitle("Productos Refresh"); builder.SetIcon(Resource.Mipmap.ic_refresh); builder.SetCancelable(false); builder.SetMessage(" Estimado usuario, al iniciar productos refresh debes tener acceso a internet. Luego podrás ocupar la aplicación sin problemas incluso cuando no tengas conexión a la red.\n Debes tener en cuenta que si cierras las app, debes estar conectado a internet para abrirla nuevamente."); builder.SetPositiveButton("Aceptar", delegate { Cerrar.closeApplication(this); }); builder.Show(); AnalyticService.TrackAnalytics("Main Activity", new Dictionary <string, string> { { "Category", "Sin conexion a internet al iniciar la app" }, { "Action", "Validacion de conexion" } }); } }
/// <summary> /// Procesars the denuncias. /// </summary> /// <returns>The denuncias.</returns> async Task ProcesarProductos() { var productosProcesar = DataManager.RealmInstance.All <IngresoItemRefreshRequest>().ToList(); if (ValidationUtils.GetNetworkStatus()) { if (productosProcesar.Any()) { foreach (IngresoItemRefreshRequest producto in productosProcesar) { string postData = JsonConvert.SerializeObject(producto); var enviaProducto = await ServiceDelegate.Instance.IngresoItemRefreshImg(JObject.Parse(postData)); if (enviaProducto.Success) { using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(producto); trans.Commit(); } Refreshindicator(); } } } } }
/// <summary> /// Procesars the denuncias. /// </summary> /// <returns>The denuncias.</returns> async Task ProcesarProductos() { try { var productosProcesar = DataManager.RealmInstance.All <IngresaProcesaBarrasTabletRequest>().ToList(); if (ValidationUtils.GetNetworkStatus()) { if (productosProcesar.Any()) { foreach (IngresaProcesaBarrasTabletRequest producto in productosProcesar) { string postData = JsonConvert.SerializeObject(producto); var enviaProducto = await ServiceDelegate.Instance.IngresoItemImage(JObject.Parse(postData)); if (enviaProducto.Success) { try { var codResponse = (int)enviaProducto.Response; var prodItem = producto.Item; if (codResponse == 2) { using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(producto); trans.Commit(); } Refreshindicator(2, prodItem); } else { using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(producto); trans.Commit(); } Refreshindicator(0, null); } } catch (System.Exception ex) { Log.Info("ProcesarProductos", ex.Message); using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(producto); trans.Commit(); } Refreshindicator(0, null); } } } } } } catch (System.Exception ex) { Log.Info("ProcesarProductos", ex.Message); Refreshindicator(0, null); } }
public override async void OnReceive(Context context, Intent intent) { if (ValidationUtils.GetNetworkStatus()) { am = (ActivityManager)context.GetSystemService(Context.ActivityService); cn = am.GetRunningTasks(1).ElementAt(0).TopActivity; await ProcesarProductos(); } }
/// <summary> /// Ons the receive. /// </summary> /// <param name="context">Context.</param> /// <param name="intent">Intent.</param> public override async void OnReceive(Context context, Intent intent) { if (ValidationUtils.GetNetworkStatus()) { this.context = context; am = (ActivityManager)context.GetSystemService(Context.ActivityService); cn = am.GetRunningTasks(1).ElementAt(0).TopActivity; Refreshindicator(); } }
/// <summary> /// Ons the marker click. /// </summary> /// <returns><c>true</c>, if marker click was oned, <c>false</c> otherwise.</returns> /// <param name="marker">Marker.</param> public bool OnMarkerClick(Marker marker) { if (map != null) { if (DataManager.Sucursales != null) { var sucursalTiendaWalmart = DataManager.RealmInstance.All <SucursalTienda>().ToList(); if (ValidationUtils.GetNetworkStatus()) { if (sucursalTiendaWalmart.Any()) { foreach (SucursalTienda sucursalSeleccionada in sucursalTiendaWalmart) { using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(sucursalSeleccionada); trans.Commit(); } } } } var sucursal = DataManager.Sucursales.Where(x => x.location.address == marker.Snippet).FirstOrDefault(); DataManager.sucursalSeleccionada = sucursal; var existeSucursalSelecionada = DataManager.RealmInstance.All <SucursalTienda>(); if (!existeSucursalSelecionada.Any()) { ///cada vez que escribamos en la bd debemos borrar el registro antiguo. DataManager.RealmInstance.Write(() => { SucursalTienda sucursalTiendaSeleccionada = new SucursalTienda { id = DataManager.sucursalSeleccionada.id, name = DataManager.sucursalSeleccionada.name, format = DataManager.sucursalSeleccionada.format, address = DataManager.sucursalSeleccionada.location.address }; DataManager.RealmInstance.Add(sucursalTiendaSeleccionada); }); } Intent intentAHomeAgregaProducto = new Intent(Activity, typeof(HomeAgregaProductoActivity)); StartActivity(intentAHomeAgregaProducto); DataManager.estadoBusquedaProducto = string.Empty; DataManager.refreshItem = string.Empty; DataManager.refreshDepto = string.Empty; DataManager.refreshItemBalanza = string.Empty; DataManager.refreshNombreProducto = string.Empty; } } return(true); //@TODO realizar descarga //throw new NotImplementedException(); }
//EVENTO CLICK ITEMS RECYCLERVIEW /// <summary> /// Ons the item click. /// </summary> /// <param name="sender">Sender.</param> /// <param name="e">E.</param> void OnItemClick(object sender, List <Object> e) { var descripcionAddress = (string)e[2]; if (map != null) { if (DataManager.Sucursales != null) { var sucursalTiendaWalmart = DataManager.RealmInstance.All <SucursalTienda>().ToList(); if (ValidationUtils.GetNetworkStatus()) { if (sucursalTiendaWalmart.Any()) { foreach (SucursalTienda sucursalSeleccionada in sucursalTiendaWalmart) { using (var trans = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.Remove(sucursalSeleccionada); trans.Commit(); } } } } var sucursal = DataManager.Sucursales.Where(x => x.location.address == descripcionAddress).FirstOrDefault(); DataManager.sucursalSeleccionada = sucursal; var existeSucursalSelecionada = DataManager.RealmInstance.All <SucursalTienda>(); if (!existeSucursalSelecionada.Any()) { ///cada vez que escribamos en la bd debemos borrar el registro antiguo. DataManager.RealmInstance.Write(() => { SucursalTienda sucursalTiendaSeleccionada = new SucursalTienda { id = DataManager.sucursalSeleccionada.id, name = DataManager.sucursalSeleccionada.name, format = DataManager.sucursalSeleccionada.format, address = DataManager.sucursalSeleccionada.location.address }; DataManager.RealmInstance.Add(sucursalTiendaSeleccionada); }); } Intent intentAHomeAgregaProducto = new Intent(Activity, typeof(HomeAgregaProductoActivity)); StartActivity(intentAHomeAgregaProducto); DataManager.estadoBusquedaProducto = string.Empty; DataManager.refreshItem = string.Empty; DataManager.refreshDepto = string.Empty; DataManager.refreshItemBalanza = string.Empty; DataManager.refreshNombreProducto = string.Empty; } } }
/// <summary> /// Perfilars the async. /// </summary> /// <returns>The async.</returns> async Task PerfilarAsync() { if (ValidationUtils.GetNetworkStatus()) { var existenProductos = DataManager.RealmInstance.All <EntidadItemRefresh>().Where(x => x.DayOfCharge == DataManager.FechaHoy).ToList(); if (!existenProductos.Any()) { var refreshs = await ServiceDelegate.Instance.ObtieneItemRefresh(); if (refreshs.Success) { using (var transitemref = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.RemoveAll("EntidadItemRefresh"); transitemref.Commit(); } await DataManager.RealmInstance.WriteAsync(r => { var refreshResponse = refreshs.Response as List <EntidadItemRefresh>; foreach (EntidadItemRefresh refresh in refreshResponse) { r.Add(refresh); // DataManager.RealmInstance.Add(refresh); } }); GC.Collect(); } } StreamReader reader = new StreamReader(Assets.Open("BD/locales.json")); string json = reader.ReadToEnd(); var sucursales = await ServiceDelegate.Instance.GetLocales(json); if (sucursales.Success) { DataManager.Sucursales = sucursales.Response as List <Sucursal>; try { OpenMaps(false); } catch (Exception ex) { dialogWarning("Productos Refresh", "Ups!, se produjo un error inesperado. Por favor comunicarse con mesa de ayuda o intente más tarde.", "aceptar"); Crashes.TrackError(ex); } } else { dialogWarning("Productos Refresh", "Ups!, se produjo un error inesperado. Por favor comunicarse con mesa de ayuda o intente más tarde.", "aceptar"); } } }
/// <summary> /// Ons the create. /// </summary> /// <param name="savedInstanceState">Saved instance state.</param> protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); if (ValidationUtils.GetNetworkStatus()) { await descargaInfoAsync(); } else { ToolsUtilsAndroid.alertDialogApplicationMessage(this , Constante.ALERT_TITLE , Constante.ALERT_MESSAGE_NOTCONNECTION_INTERNET , Constante.ALERT_POSITIVE_BUTTON , "", Resource.Mipmap.ic_logo_round); } }
/// <summary> /// Ons the create. /// </summary> /// <param name="savedInstanceState">Saved instance state.</param> protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); BroadcastProduct(); DataManager.FechaHoy = DateTime.Now.DayOfYear; SetContentView(Resource.Layout.main_activity); if (ValidationUtils.GetNetworkStatus()) { try{ AppCenter.Start("c72dc3eb-e784-4e20-930f-5b4095f95ed0", typeof(Analytics), typeof(Crashes)); DataManager.appCenterActive = true; }catch { DataManager.appCenterActive = false; } await GetLocationCompatAsync(); loading(); await PerfilarAsync(); } else { Android.App.AlertDialog.Builder builder = new Android.App.AlertDialog.Builder(this); builder.SetTitle("Trazabilidad de carnes"); builder.SetIcon(Resource.Mipmap.ic_trazabilidad); builder.SetCancelable(false); builder.SetMessage(" Estimado usuario, al iniciar trazabilidad de carnes debes tener acceso a internet. Luego podrás ocupar la aplicación sin problemas incluso cuando no tengas conexión a la red.\n Debes tener en cuenta que si cierras las app, debes estar conectado a internet para abrirla nuevamente."); builder.SetPositiveButton("Aceptar", delegate { closeApplication(); }); builder.Show(); AnalyticService.TrackAnalytics("Main Activity", new Dictionary <string, string> { { "Category", "Sin conexion a internet al iniciar la app" }, { "Action", "Validacion de conexion" } }); } }
/// <summary> /// Gets the network status. /// </summary> /// <returns><c>true</c>, if network status was gotten, <c>false</c> otherwise.</returns> private bool GetNetworkStatus() { return(ValidationUtils.GetNetworkStatus()); }
/// <summary> /// Perfilars the async. /// </summary> /// <returns>The async.</returns> async Task PerfilarAsync() { var frigorificosWalmart = DataManager.RealmInstance.All <EntidadFrigorifico>().ToList(); if (ValidationUtils.GetNetworkStatus()) { var existenFrigorificos = DataManager.RealmInstance.All <EntidadFrigorifico>().Where(x => x.DayOfCharge == DataManager.FechaHoy).ToList(); if (!existenFrigorificos.Any()) { var frigorificos = await ServiceDelegate.Instance.ObtieneFrigorificos(); if (frigorificos.Success) { using (var transfri = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.RemoveAll("EntidadFrigorifico"); transfri.Commit(); } DataManager.RealmInstance.Write(() => { var frigorificosResponse = frigorificos.Response as List <EntidadFrigorifico>; foreach (EntidadFrigorifico frigorifico in frigorificosResponse) { DataManager.RealmInstance.Add(frigorifico); } }); } } } var itemBalanzaWalmart = DataManager.RealmInstance.All <EntidadItem>().ToList(); if (ValidationUtils.GetNetworkStatus()) { var existenItemsBalanza = DataManager.RealmInstance.All <EntidadItem>().Where(x => x.DayOfCharge == DataManager.FechaHoy).ToList(); if (!existenItemsBalanza.Any()) { var itemsBalanza = await ServiceDelegate.Instance.ObtieneItemBalanza(); if (itemsBalanza.Success) { using (var transbal = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.RemoveAll("EntidadItem"); transbal.Commit(); } DataManager.RealmInstance.Write(() => { var itemsBalanzaResponse = itemsBalanza.Response as List <EntidadItem>; foreach (EntidadItem itemBalanza in itemsBalanzaResponse) { DataManager.RealmInstance.Add(itemBalanza); } }); } } } var procedenciasWalmart = DataManager.RealmInstance.All <EntidadProcedencia>().ToList(); if (ValidationUtils.GetNetworkStatus()) { var existenProcedencias = DataManager.RealmInstance.All <EntidadProcedencia>().Where(x => x.DayOfCharge == DataManager.FechaHoy).ToList(); if (!existenProcedencias.Any()) { var procedencias = await ServiceDelegate.Instance.ObtieneProcedencias(); if (procedencias.Success) { using (var transproc = DataManager.RealmInstance.BeginWrite()) { DataManager.RealmInstance.RemoveAll("EntidadProcedencia"); transproc.Commit(); } DataManager.RealmInstance.Write(() => { var procedenciasResponse = procedencias.Response as List <EntidadProcedencia>; foreach (EntidadProcedencia procedencia in procedenciasResponse) { DataManager.RealmInstance.Add(procedencia); } }); } } } StreamReader reader = new StreamReader(Assets.Open("BD/locales.json")); string json = reader.ReadToEnd(); var sucursales = await ServiceDelegate.Instance.GetLocales(json); if (sucursales.Success) { DataManager.Sucursales = sucursales.Response as List <Sucursal>; try { OpenMaps(false); } catch (Exception ex) { dialogWarning("Trazabilidad de carnes", "Ups!, se produjo un error inesperado. Por favor intente más tarde.", "aceptar"); Crashes.TrackError(ex); } } else { dialogWarning("Trazabilidad de carnes", "Ups!, se produjo un error inesperado. Por favor intente más tarde.", "aceptar"); } }