コード例 #1
0
        // Au clique sur l'image représentant le tri, on change de tri, rafrachit la liste d'itemss et au sauvegarde la nouveaux paramètre de tri
        private void TriButton_Clicked(object sender, EventArgs e)
        {
            switch (tri)
            {
            case E_TRI.SORT_NONE:
                tri = E_TRI.SORT_TIME_NEW_OLD;
                break;

            case E_TRI.SORT_TIME_NEW_OLD:
                tri = E_TRI.SORT_TIME_OLD_NEW;
                break;

            case E_TRI.SORT_TIME_OLD_NEW:
                tri = E_TRI.SORT_VALUE_MAX_MIN;
                break;

            case E_TRI.SORT_VALUE_MAX_MIN:
                tri = E_TRI.SORT_VALUE_MIN_MAX;
                break;

            case E_TRI.SORT_VALUE_MIN_MAX:
                tri = E_TRI.SORT_NONE;
                break;

            default: break;
            }
            triButton.Source       = GetImageSourceFromSort(tri);
            MyListView.ItemsSource = GetHumidityDataFromSort(tri, humidityData);

            Application.Current.Properties[KEY_TRI] = (int)tri;

            Application.Current.SavePropertiesAsync();
        }
コード例 #2
0
        // Envois une liste triée des doonnées sur base du paramètre dy tri
        public List <HumidityData> GetHumidityDataFromSort(E_TRI t, List <HumidityData> l)
        {
            if (l == null)
            {
                return(null);
            }

            List <HumidityData> listData = new List <HumidityData>(l);

            switch (t)
            {
            case E_TRI.SORT_NONE:
                return(listData);

            case E_TRI.SORT_TIME_NEW_OLD:
            {
                listData.Sort((p1, p2) => { return(p2.Time.CompareTo(p1.Time)); });
                return(listData);
            }

            case E_TRI.SORT_TIME_OLD_NEW:
            {
                listData.Sort((p1, p2) => { return(p1.Time.CompareTo(p2.Time)); });
                return(listData);
            }

            case E_TRI.SORT_VALUE_MAX_MIN:
            {
                listData.Sort((p1, p2) => { return(double.Parse(p2.Payload).CompareTo(double.Parse(p1.Payload))); });
                return(listData);
            }

            case E_TRI.SORT_VALUE_MIN_MAX:
            {
                listData.Sort((p1, p2) => { return(double.Parse(p1.Payload).CompareTo(double.Parse(p2.Payload))); });
                return(listData);
            }

            default: return(listData);
            }
        }
コード例 #3
0
        //Détermine qu'elle image afficher pour représneter le tri en fonction du paramètre de ce dernier.
        public string GetImageSourceFromSort(E_TRI t)
        {
            switch (t)
            {
            case E_TRI.SORT_NONE:
                return("sort_none.png");

            case E_TRI.SORT_TIME_NEW_OLD:
                return("sort_time_new_old.png");

            case E_TRI.SORT_TIME_OLD_NEW:
                return("sort_time_old_new.png");

            case E_TRI.SORT_VALUE_MAX_MIN:
                return("sort_value_max_min.png");

            case E_TRI.SORT_VALUE_MIN_MAX:
                return("sort_value_min_max.png");

            default: return("sort_none.png");
            }
        }
コード例 #4
0
        public DataPage()
        {
            InitializeComponent();

            // Garnisage des valeurs selon la présence de propriétées sauvegardée
            if (Application.Current.Properties.ContainsKey(KEY_TRI))
            {
                tri = (E_TRI)Application.Current.Properties[KEY_TRI];
                triButton.Source = GetImageSourceFromSort(tri);
            }
            if (Application.Current.Properties.ContainsKey(KEY_TTN_APP_ACCES_KEY))
            {
                ttnAppAccesKey = (string)Application.Current.Properties[KEY_TTN_APP_ACCES_KEY];
            }
            if (Application.Current.Properties.ContainsKey(KEY_SWAGGER_QUERY_BASE))
            {
                swagger_Query_Base = (string)Application.Current.Properties[KEY_SWAGGER_QUERY_BASE];
            }
            if (Application.Current.Properties.ContainsKey(KEY_SWAGGER_QUERY_TIME))
            {
                swagger_Query_Time = (string)Application.Current.Properties[KEY_SWAGGER_QUERY_TIME];
            }
            if (Application.Current.Properties.ContainsKey(KEY_OK_VALUE))
            {
                okValue = (String)Application.Current.Properties[KEY_OK_VALUE];
            }
            if (Application.Current.Properties.ContainsKey(KEY_DANGER_VALUE))
            {
                dangerValue = (String)Application.Current.Properties[KEY_DANGER_VALUE];
            }


            MyListView.IsVisible = false;
            waitLayout.IsVisible = true;

            MyListView.RefreshCommand = new Command((obj) =>
            {
                TelechargementData((data) =>
                {
                    SetHumidityDataImages();
                    MyListView.ItemsSource = GetHumidityDataFromSort(tri, humidityData);
                    MyListView.EndRefresh();
                });
            });


            TelechargementData((data) =>
            {
                SetHumidityDataImages();
                MyListView.ItemsSource = GetHumidityDataFromSort(tri, humidityData);
                MyListView.IsVisible   = true;
                waitLayout.IsVisible   = false;
            });

            // Création d'une vue d'alerte à la selection d'un item, on affiche ses détails.
            MyListView.ItemSelected += (sender, e) =>
            {
                if (e.SelectedItem == null)
                {
                    return;
                }
                HumidityData item = MyListView.SelectedItem as HumidityData;
                DisplayAlert("Détails du relevé", "Device ID : " + item.Device_id + "\nValeur : " + item.PayloadBE + "%" + "\nMoment du relevé : " + item.LocalTime.ToString() + "\nInterval de temps avec le relevé : " + item.PayloadTimeSpan, "OK");
                MyListView.SelectedItem = null;
            };
        }