Пример #1
0
        /// <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" }
                });
            }
        }
Пример #2
0
        /// <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();
                        }
                    }
                }
            }
        }
Пример #3
0
        /// <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);
            }
        }
Пример #4
0
 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();
     }
 }
Пример #5
0
 /// <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();
     }
 }
Пример #6
0
        /// <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();
        }
Пример #7
0
        //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;
                }
            }
        }
Пример #8
0
        /// <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");
                }
            }
        }
Пример #9
0
 /// <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);
     }
 }
Пример #10
0
        /// <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" }
                });
            }
        }
Пример #11
0
 /// <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());
 }
Пример #12
0
        /// <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");
            }
        }