Exemplo n.º 1
0
 protected override void OnAppearing()
 {
     MessagingCenter.Subscribe <BaseDetailViewModel, Alert>(this, "MostrarMensaje", (obj, alertObj) =>
     {
         DisplayAlert(alertObj.Titulo, alertObj.Mensaje, alertObj.TextoBoton);
     });
     MessagingCenter.Subscribe <BaseDetailViewModel, RequiresRestart>(this, "CambiarRequiresRestart", (obj, reqRes) =>
     {
         RequiresRestart = reqRes;
     });
 }
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;
                }
            }
        }
Exemplo n.º 3
0
 protected void SendRequiresRestart(RequiresRestart reqRes)
 {
     MessagingCenter.Send <BaseDetailViewModel, RequiresRestart>(this, "CambiarRequiresRestart", reqRes);
 }
Exemplo n.º 4
0
 public BaseDetailPage()
 {
     RequiresRestart = RequiresRestart.NO;
 }