コード例 #1
0
ファイル: Accueil.cs プロジェクト: jerkhouri/Notifire
        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();
        }
コード例 #2
0
ファイル: Accueil.cs プロジェクト: jerkhouri/Notifire
        //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é");
            }
        }