public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId)
        {
            _cts = new CancellationTokenSource();

            Task.Run(() => {
                try
                {
                    //INVOKE THE SHARED CODE
                    SincronizacionBLL sincronizacionBLL = new SincronizacionBLL();
                    sincronizacionBLL.EjecutarSincronizacionAutomatica(_cts.Token).Wait();
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    if (_cts.IsCancellationRequested)
                    {
                        var message = new CancelledMessage();
                        Device.BeginInvokeOnMainThread(
                            () => MessagingCenter.Send(message, "CancelledMessage")
                            );
                    }
                }
            }, _cts.Token);

            return(StartCommandResult.Sticky);
        }
Example #2
0
        async void btnSincronizar_Clicked(object sender, EventArgs e)
        {
            if (await ParametrosSistema.isOnline)
            {
                activityIndicator.IsRunning = true;
                activityIndicator.IsVisible = true;
                SincronizacionBLL bll = new SincronizacionBLL();
                await bll.SincronizarRegistrosPendientes();

                activityIndicator.IsRunning = false;
                activityIndicator.IsVisible = false;
            }
            else
            {
                await DisplayAlert("Atención", "No es posible conectar con el servidor remoto. Verifique su conexión a Internet.", "Aceptar");
            }
        }