Bonjour,
Alors voilà ! Je développe un terminal WPF en C#. Sa fonction, est de retranscrire de manière visuelle, soit par un pop-up, soit par un bandeau défilant, un message reçu d'un service WCF, selon si l'importance du message.
En clair : il y aura trois vues
-Un priorité faible : lancera un bandeau défilant
-Une priorité moyenne : lancera un premier style de pop-up
-Une priorité élevée : lancera un deuxième styme de pop-up
Le principe concretement :
-Le terminal tourne de façon passive dans le systray
-Un timer tourne en fond et interroge le service toute les 5 minutes en appelant une méthode booléenne qui retourne un true / false selon si des messages sont dispo.
Si un true est retourné alors il faut appeler la méthode qui retourne la liste d'alertes. Cette méthode est prête dans mon service. Les éléments dont je dispose :
-Une classe de données qui implémente INotifyChanged pour informer les vues
-Une classe faisant office de parser pour le bandeau défilant
-Un timer (System.Windows.Threading) effectuant une tâche toute les 5 minutes
J'utilise Caliburn.Micro et un pattern MVVM.
Là où je suis perdu, c'est quoi faire lorsque mon timer obtient un "true" . L'action logique serait de :
-Tester le mode d'alerte à partir d'un champ dans ma liste retournée du service
-Tester la priorité d'alerte à partir d'un champ dans ma liste retournée du service
-En fonction de ces paramètres, charger la bonne vue
Mais ou-je puis coder cela ? dois-je faire une classe supplémentaire qui "trie" ou alors intergrer cette action au timer ? J'ai du mal à visualiser comment chainer mes actions.
En vous remerciant de vos lumières
Cordialement
Partager