private void SetupNotifire() { Console.WriteLine("Go"); string contenuFile = System.IO.File.ReadAllText(ModuleC.pathSetupFile); //on charge le fichier dans la variable contenuFile dynamic Json = JsonConvert.DeserializeObject <dynamic>(contenuFile); //On deserialize la variable en json dynamic JObject rss = JObject.Parse(Json.ToString()); //on charge le json dans un objet if ((string)rss["Config"]["Done"] == "no") //si la sous section Done de Confid est egale à no alors { SetupNotifire setupNotifire = new SetupNotifire(); //initialise un nouveau formulaire setupNotifire.ShowDialog(); //On met en pause le programme et affiche le formulaire } contenuFile = System.IO.File.ReadAllText(ModuleC.pathSetupFile); //On relis le fichier car il a pu changer Json = JsonConvert.DeserializeObject <dynamic>(contenuFile); //on redeserialize rss = JObject.Parse(Json.ToString()); //on recharge le json ModuleC.listYes = (JArray)rss["Config"]["listYes"]; //on met a jour la liste des app en yes var titre = "Notifire"; var commentaire = "C'est ici que vous recevrez les notifications d'incident !"; var picture = ModuleC.pathPitcure + "RobotAa.png"; Notif.NotifStartup(titre, commentaire, picture); //on affiche la notif timer1.Start(); //on start le timer timer_change_type.Start(); }
//VERIFY IN THE CACHE public void VerifAndGo() { Console.WriteLine("Verif&go"); string contenuFile = System.IO.File.ReadAllText(ModuleC.pathSetupFile); //On ecrit dans la variable contenuFile le contenu du fichier config dans appdata dynamic Json = JsonConvert.DeserializeObject <dynamic>(contenuFile); //Deserialization du fichier json JObject rss = JObject.Parse(Json.ToString()); //On rentre le contenu du JSON entier dans une variable JObject cache = (JObject)rss["Cache"]; //On choisis la partie de traitement du json (ici Cache) Console.WriteLine(ModuleC.Compenent_Name); if (Json.Config.listYes.ToString().Contains(ModuleC.Compenent_Name) || Json.Config.listOblige.ToString().Contains(ModuleC.Compenent_Name)) //Verifie si present dans le conf app ok { Console.WriteLine(ModuleC.Compenent_Name + " Existe dans la liste des applis autorisées"); if (ModuleC.Status_Incident == "1") //Si c'est un nouvel incident alors on traite de cache des nouveaux incidents { if (!Json.Cache.New.ToString().Contains(ModuleC.Id_Incident)) //Si l'id de l'incident existe pas dans le cache alors { Console.WriteLine(ModuleC.Id_Incident + " n'éxiste pas dans le cache ID"); JArray cacheNewID = (JArray)cache["New"]; //On créer une liste contenant tous les id d'incidents cacheNewID.Add(ModuleC.Id_Incident); //On ajoute notre nouvelle incident à la liste string output = Newtonsoft.Json.JsonConvert.SerializeObject(rss, Newtonsoft.Json.Formatting.Indented); //Variable contenant le json modifié System.IO.File.WriteAllText(ModuleC.pathSetupFile, output); //Ecriture du nouveau json Console.WriteLine("Creation Notif"); Notif.CreateNotif(ModuleC.Name_Incident, ModuleC.Message_Incident, ModuleC.Component_id_Incident); //Generation de la notif } else { Console.WriteLine(ModuleC.Id_Incident + " est déja le cache ID"); } } else if (ModuleC.Status_Incident == "4") //Si c'est un hold incident alors on traite de cache des anciens incidents { if (!Json.Cache.Hold.ToString().Contains(ModuleC.Id_Incident)) //Si l'id de l'incident existe pas dans le cache alors { Console.WriteLine(ModuleC.Id_Incident + " n'éxiste pas dans le cache ID"); JArray cacheHoldID = (JArray)cache["Hold"]; //On créer une liste contenant tous les id d'incidents cacheHoldID.Add(ModuleC.Id_Incident); //On ajoute notre nouvelle incident à la liste string output = Newtonsoft.Json.JsonConvert.SerializeObject(rss, Newtonsoft.Json.Formatting.Indented); //Variable contenant le json modifié System.IO.File.WriteAllText(ModuleC.pathSetupFile, output); //Ecriture du nouveau json Console.WriteLine("Creation Notif"); Notif.CreateNotif(ModuleC.Name_Incident, ModuleC.Message_Incident, ModuleC.Component_id_Incident); //Generation de la notif } else { Console.WriteLine(ModuleC.Id_Incident + " est déja le cache ID"); } } } else { Console.WriteLine(ModuleC.Compenent_Name + " ne fais pas partis des applis autorisé"); } }