// 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(); }
// 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); } }
//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"); } }
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; }; }