Exemplo n.º 1
0
        private async Task StartStop()
        {
            Alert toSend = null;
            BluetoothWriteResponse status = BluetoothWriteResponse.ERROR;

            if (IsStarted)
            {
                status = await services.StartStopReboot(StartStopReboot.STOP);

                if (status == BluetoothWriteResponse.OK)
                {
                    toSend = new Alert("Indoor parado exitosamente", "Se ha detenido exitosamente el indoor");
                }
                else
                {
                    toSend = new Alert("Error al detener indoor", "Ha ocurrido un error al detener el indoor el mismo se encuentra corriendo");
                }
            }
            else
            {
                status = await services.StartStopReboot(StartStopReboot.START);

                if (status == BluetoothWriteResponse.OK)
                {
                    toSend = new Alert("Indoor inciado correctamente", "Se ha iniciado correctamente el indoor. El mismo podria demorar unos segundos para encontrarse listo");
                }
                else
                {
                    toSend = new Alert("Error al inciar indoor", "Ha ocurrido un error al iniciar el indoor");
                }
            }
            await Status();

            SendMessage(toSend);
        }
Exemplo n.º 2
0
        async void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var item = e.SelectedItem as MasterPageItem;

            if (item != null)
            {
                RequiresRestart auxReqRes           = ((BaseDetailPage)((NavigationPage)Detail).RootPage).RequiresRestart;
                int             intAuxReqRes        = (int)auxReqRes;
                int             intHasToBeRestarted = (int)hasToBeRestarted;
                if (intHasToBeRestarted < intAuxReqRes)
                {
                    hasToBeRestarted = auxReqRes;
                }
                if (item.IsExit)
                {
                    if (hasToBeRestarted == RequiresRestart.SOFT_RESTART || hasToBeRestarted == RequiresRestart.HARD_RESTART)
                    {
                        await DisplayAlert("Reinicio requerido", "Los cambios que realizo requieren el reinicio del indoor, el mismo se reiniciara a continuacion. Por favor espere unos segundos mientras el mismo inicia", "Ok");

                        if (hasToBeRestarted == RequiresRestart.SOFT_RESTART)
                        {
                            await btServices.StartStopReboot(StartStopReboot.REBOOT);
                        }
                        else
                        {
                            await btServices.StartStopReboot(StartStopReboot.HARD_REBOOT);
                        }
                    }
                    await btServices.StartStopReboot(StartStopReboot.DISCONNECT_BLUETOOTH);

                    Application.Current.MainPage = new NavigationPage(new ConnectionPage());
                }
                else
                {
                    Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType));
                    masterPage.ListView.SelectedItem = null;
                    IsPresented = false;
                }
            }
        }