public override void NavigatedFrom()
 {
     DestinatariAll = false;
     TitoloNews     = string.Empty;
     CorpoNews      = string.Empty;
     if (ElencoScuole.Any())
     {
         ScuolaSelezionata = -1;
     }
     ImmagineNews       = string.Empty;
     _immagineByteArray = null;
     ClassiDisponibili?.Clear();
     ClassiSelezionate?.Clear();
 }
        private async void CaricaClassi()
        {
            if (loadingClassi)
            {
                return;
            }
            loadingClassi = true;
            if (ScuolaSelezionata < 0 || ScuolaSelezionata >= ElencoScuole.Count)
            {
                return;
            }

            ClassiDisponibili?.Clear();
            int  prove = 0;
            bool ok    = false;

            do
            {
                var envelop = await api.ElencoClassiScuola(ElencoScuole[ScuolaSelezionata].id);

                if (envelop.response == StatusCodes.OK)
                {
                    ok = true;
                    foreach (var classe in envelop.content)
                    {
                        ClassiDisponibili.Add
                        (
                            new SelectableItemWrapper <Classe>()
                        {
                            IsSelected = false,
                            Item       = classe
                        }
                        );
                    }
                    break;
                }
                prove++;
            } while (prove < 3);
            if (ok && !ClassiDisponibili.Any())
            {
                notification.ShowMessageDialog("Classi della scuola", "Non sono presenti classi per cui postare news");
            }
            if (!ok)
            {
                notification.ShowMessageDialog("Errore", "Si è verificato un errore durante il caricamento delle classi.\nRiprova più tardi");
            }
            loadingClassi = false;
        }
 private bool VerificaCampiClasse(bool notify = false)
 {
     if (VerificaCampiScuola(true))
     {
         var found = ClassiDisponibili.Where(x => x.IsSelected).Select(x => x.Item).ToList();
         if (found == null || !found.Any())
         {
             if (notify)
             {
                 notification.ShowMessageDialog("Verifica dati", "Devi selezionare almeno una classe");
             }
             return(false);
         }
         ClassiSelezionate = found;
         return(true);
     }
     return(false);
 }