public async void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)     //quando uno snack è tappato si apre un prompt in cui viene chiesto se lo si vuole mangiare
        {
            var ans = await DisplayAlert("Fondo Merende", "Vuoi davvero mangiare " + (e.SelectedItem as SnackDataDTO).friendly_name + "?", "Si", "No");

            if (ans == true)
            {
                EatDTO response = await snackServiceManager.EatAsync((e.SelectedItem as SnackDataDTO).id, 1);

                selectedItemBinding = (e.SelectedItem as SnackDataDTO).friendly_name;

                if (response.success)
                {
                    await DisplayAlert("Fondo Merende", "Lo snack è stato mangiato", "Ok");
                }
                else
                {
                    await DisplayAlert("Fondo Merende", "Lo snack non è stato mangiato", "Ok");
                }

                if (EnablePacman)
                {
                    MessagingCenter.Send(new SnackViewCell()
                    {
                    }, "Animate");
                }
                else
                {
                    if (Device.RuntimePlatform == Device.Android)
                    {
                        Task.Delay(200);
                    }
                    GetSnacksMethod(true, false);
                    if (Device.RuntimePlatform == Device.Android)
                    {
                        Task.Delay(200);
                    }
                }
                MessagingCenter.Send(new EditUserViewCell()
                {
                }, "RefreshUF");
            }
            else
            {
                if (Device.RuntimePlatform == Device.Android)
                {
                    Task.Delay(200);
                }
                GetSnacksMethod(true, false);
                if (Device.RuntimePlatform == Device.Android)
                {
                    Task.Delay(200);
                }
            }
        }
Beispiel #2
0
        private async void Apply_Clicked(object sender, EventArgs e)
        {
            bool result = false;

            if (codiceAndroid.Text != "" || codiceAndroid.Text != null || codiceiOS.Text != "" || codiceiOS.Text != null)
            {
                switch (Device.RuntimePlatform)
                {
                case Device.Android:
                    result = await ControlloCodice.checkBeforeAction(codiceAndroid.Text);

                    break;

                case Device.iOS:

                    result = await ControlloCodice.checkBeforeAction(codiceiOS.Text);

                    break;
                }
                if (result)
                {
                    switch (mod)
                    {
                    case "mangia":
                        SnackServiceManager a        = new SnackServiceManager();
                        SnackDataDTO        elemento = (SnackDataDTO)index;
                        var scelta = await DisplayAlert("Fondomerende", "Sicuro di voler mangiare " + elemento.friendly_name + "?", "Si", "No");

                        if (scelta)
                        {
                            var risposta = await a.EatAsync(elemento.id, 1);

                            if (risposta.success)
                            {
                                await DisplayAlert("Fondomerende", "Snack mangiato", "Ok");
                            }
                            else
                            {
                                await DisplayAlert("Fondomerende", "Snack non mangiato", "Ok");
                            }
                            await PopupNavigation.Instance.PopAsync();
                        }
                        else
                        {
                            await PopupNavigation.Instance.PopAsync();
                        }
                        break;

                    //////////////////////////////////////////////////////////
                    case "deposita":
                        DepositServiceManager d = new DepositServiceManager();

                        string app       = (string)index;
                        var    resultDep = await d.DepositAsync(app);

                        if (resultDep != null)
                        {
                            if (resultDep.success)
                            {
                                await DisplayAlert("Fondomerende", "Soldi depositati con successo", "Ok");

                                if (Device.RuntimePlatform == Device.iOS)
                                {
                                    DependencyService.Get <HapticFeedbackGen>().HapticFeedbackGenSuccessAsync();
                                }

                                else
                                {
                                    Vibration.Vibrate(40);
                                    await Task.Delay(100);

                                    Vibration.Vibrate(40);
                                }
                                await PopupNavigation.Instance.PopAsync();
                            }
                            else
                            {
                                await DisplayAlert("Fondomerende", "I soldi non sono stati depositati", "Ok");
                            };
                        }
                        else
                        {
                            await PopupNavigation.Instance.PopAsync();
                        }
                        break;

                    /////////////////////////////////////////////////
                    case "compra":
                        int  id               = (int)index;
                        int  quantita         = (int)aggiunta;
                        bool swap             = (bool)aggiunta4;
                        SnackServiceManager x = new SnackServiceManager();
                        if (!swap)
                        {
                            var risp = await x.BuySnackAsync(id, quantita);

                            if (risp != null)
                            {
                                if (risp.success)
                                {
                                    MessagingCenter.Send(new AllSnacksPage()
                                    {
                                    }, "RefreshGetSnacks");
                                    Vibration.Vibrate(40);
                                    await Task.Delay(100);

                                    Vibration.Vibrate(40);
                                    MessagingCenter.Send(new AllSnacksPage()
                                    {
                                    }, "RefreshGriglia");
                                    await DisplayAlert("Fondo Merende", "Lo snack è stato comprato", "Ok");

                                    await PopupNavigation.Instance.PopAsync();
                                }
                                else
                                {
                                    await DisplayAlert("Fondo Merende", risp.message, "Ok");
                                }
                            }
                        }
                        else
                        {
                            string prezzo   = (string)aggiunta2;
                            string scadenza = (string)aggiunta3;
                            var    risp     = await x.BuySnackAsync2(id, quantita, prezzo, scadenza);

                            if (risp != null)
                            {
                                if (risp.success)
                                {
                                    MessagingCenter.Send(new AllSnacksPage()
                                    {
                                    }, "RefreshGetSnacks");
                                    Vibration.Vibrate(40);
                                    await Task.Delay(100);

                                    Vibration.Vibrate(40);
                                    MessagingCenter.Send(new AllSnacksPage()
                                    {
                                    }, "RefreshGriglia");
                                    await DisplayAlert("Fondo Merende", "Lo snack è stato comprato", "Ok");

                                    await PopupNavigation.Instance.PopAsync();
                                }
                                else
                                {
                                    await DisplayAlert("Fondo Merende", risp.message, "Ok");
                                }
                            }
                        }

                        break;

                        ///////////////////////////////////////////
                    }
                }
                else
                {
                    await DisplayAlert("Fondomerende", "Codice non presente", "Ok");
                }
            }
            else
            {
                await DisplayAlert("Fondomerende", "Inserire il codice", "Ok");
            }
            ControlloCodice.fineAzioni();
        }