Beispiel #1
0
        //Seed = Appel auto après création de la BDD pour alimentation données de test ou initialisation
        protected override void Seed(QPMContext context)
        {
            //L'objet à besoin de connaitre la config à plusieurs endroits pour ses traitements
            QPMConfiguration qpmConfig = Common.QPMGetConfig();

            // --------- Serveurs ---------
            //Nom est en clair dans la liste
            List <Serveur> serveurs = new List <Serveur> {
                //new Serveur { Id = "1", Nom = "SRV99BI" , Url =  ConfigurationManager.AppSettings["Dev"], Description = "Développement"},
                //new Serveur { Id = "2", Nom = "SRV02BI" , Url =  ConfigurationManager.AppSettings["Rec-Prod"], Description = "Recette/Prod"}
                new Serveur {
                    Id = "1", Nom = "SRV99BI", Url = qpmConfig.Global.Environnements["Dev"], Description = "Développement"
                },
                new Serveur {
                    Id = "2", Nom = "SRV02BI", Url = qpmConfig.Global.Environnements["Rec-Prod"], Description = "Recette/Prod"
                }
                //Ne pas mettre dans l'initialisation de la bdd
                //,new Serveur { Id = "3", Nom =  Common.GetHostName() , Url = ConfigurationManager.AppSettings["Localhost"], Description = "Desktop"}
            };

            serveurs.ForEach(s => context.Serveurs.Add(s));

            //List<Flux> flux = new List<Flux>{
            //    new Flux { Id = "1", Nom = "Dev.Ventes" }
            //};
            //flux.ForEach(s => context.Streams.Add(s));

            //List<Application> applications = new List<Application>{
            //    new Application { Id = "ea099413-3c1d-45e0-8874-fa46e1df7ff1", Nom = "AELIA"},
            //    new Application { Id = "dc878ecd-887b-4c47-8e33-25d440d64441", Nom = "Chiffres GERS (dev)"},
            //    new Application { Id = "xxxxxxxx", Nom = "Erreur"}
            //};
            //applications.ForEach(s => context.Applications.Add(s));


            //Jeu de données pour l'environement de dev
            //if (ConfigurationManager.AppSettings["EnvironnementDExecution"]== "Dev")
            if (qpmConfig.Global.Environnements["EnvironnementDExecution"] == "Dev")
            {
                // --------- Historique ---------
                List <Historique> historiques = new List <Historique> {
                    new Historique {
                        ID = 0, Utilisateur = "jlepouliq", Origine = "Archiver/Application", Type = "Connection", Details = "Archiver sur ....", Date = DateTime.Now, Statut = "OK"
                    },
                    new Historique {
                        ID = 1, Utilisateur = "bvalliere", Origine = "Afficher/Application", Type = "Connection", Details = "Afficher les applications", Date = DateTime.Now, Statut = "KO"
                    }
                };
                historiques.ForEach(s => context.Historiques.Add(s));
            }

            context.SaveChanges();
        }
Beispiel #2
0
        //----------------------------------------------------
        //Constructeur
        //----------------------------------------------------
        //public Batch(Dictionary<string, string> _parametrage)
        public Batch()
        {
            //L'objet à besoin de connaitre la config à plusieurs endroits pour ses traitements
            qpmConfig = Common.QPMGetConfig();

            //Console.Clear();
            //_Parametrage = _parametrage;
            DomaineConnexion           = qpmConfig.Global.UtilisateurModele["domain"];
            Login                      = qpmConfig.Global.UtilisateurModele["user"];
            Password                   = qpmConfig.Global.UtilisateurModele["password"];
            TraitementOk               = false;
            SuffixeRepertoireArchivage = qpmConfig.Global.Fichiers["ArchivSuffix"];
        }
Beispiel #3
0
 //Constructeur
 public TesterDonneesViewModel()
 {
     //L'objet à besoin de connaitre la config à plusieurs endroits pour ses traitements
     qpmConfig = Common.QPMGetConfig();
     Init();
 }
Beispiel #4
0
        //------------------------------------------------------------------
        // Compare la structure des 2 applications
        //------------------------------------------------------------------
        public void Comparer()
        {
            //Répertoire d'export
            //string exportDir = ConfigurationManager.AppSettings["ExportDirectory"];
            //Fichier à créer directement sur le poste local (rassemble l'étape de création puis de copie)
            QPMConfiguration qpmConfig       = Common.QPMGetConfig();
            string           importDirectory = qpmConfig.Global.Repertoires["ImportDirectory"];
            //string importDirectory = ConfigurationManager.AppSettings["ImportDirectory"];

            string exportDir = "\\\\" + Common.GetHostName() + "\\" + importDirectory + "\\";
            //string suffixeExportDir = ConfigurationManager.AppSettings["ExportSuffix"];
            string suffixeExportDir = qpmConfig.Global.Fichiers["ExportSuffix"];
            string fileDir          = exportDir + DateTime.Now.ToString("yyyyMMdd") + suffixeExportDir.Replace(" ", "%20") + @"\";

            var serveurRefName  = ServeurRef.Connexion._Application.Where(a => a.Value == ServeurRef.Connexion.Application).First().Text;
            var serveurCompName = ServeurComp.Connexion._Application.Where(a => a.Value == ServeurComp.Connexion.Application).First().Text;

            Results.addDetails("Début de la comparaison");

            //List<string> _fullFileName = QEngineConnexion.ExportModeleApplication(Application, fileDir);
            //Export du modele

            Results.addDetails("Début de l'export du modèle de l'application " + serveurRefName);
            ExportModeleApp csvModelAppRef  = ServeurRef.Connexion.QEngineConnexion.ExportModeleApplication(ServeurRef.Connexion.Application);
            List <string>   _csvModelAppRef = ServeurRef.Connexion.QEngineConnexion.ModeleToTableau(csvModelAppRef);

            Results.addDetails("Début de l'export du modèle de l'application " + serveurCompName);
            ExportModeleApp csvModelAppComp  = ServeurComp.Connexion.QEngineConnexion.ExportModeleApplication(ServeurComp.Connexion.Application);
            List <string>   _csvModelAppComp = ServeurComp.Connexion.QEngineConnexion.ModeleToTableau(csvModelAppComp);

            //Liste des objet en différences
            Dictionary <string, string> _diffRef  = CompareModelApplication(csvModelAppRef, csvModelAppComp);
            Dictionary <string, string> _diffComp = CompareModelApplication(csvModelAppComp, csvModelAppRef);

            List <string> _diff = new List <string>();

            //Ecriture de l'entete
            _diff.Add(_csvModelAppComp.First());

            Results.addDetails("Début de la comparaison à partir de l'application de référence " + serveurRefName);
            //Comparaison à partir du serveur de ref
            foreach (var line in _csvModelAppRef)
            {
                foreach (var id in _diffRef)
                {
                    if (line.Contains("\"" + id.Key + "\"") && line.Contains("\"" + id.Value + "\""))
                    {
                        _diff.Add(line);
                    }
                }
            }

            Results.addDetails("Début de la comparaison à partir de l'application de comparaison " + serveurCompName);
            //Comparaison à partir du serveur de ref
            foreach (var line in _csvModelAppComp)
            {
                foreach (var id in _diffComp)
                {
                    if (line.Contains("\"" + id.Key + "\"") && line.Contains("\"" + id.Value + "\""))
                    {
                        _diff.Add(line);
                    }
                }
            }

            //Ecriture du tableau de différence
            ExistOrCreate(fileDir);
            //Ecriture du fichier
            string baseFileName = fileDir + ServeurRef.Connexion.Application + "-" + DateTime.Now.ToString("yyyyMMddHHmmss");

            baseFileName = fileDir + "Comp_" + serveurRefName + "-" + DateTime.Now.ToString("yyyyMMddHHmmss");
            string suffixeFicher = ".csv";
            string fullFileName  = baseFileName + suffixeFicher;


            Results.addDetails("Début de la génération du fichier de détails");
            //Results.addDetails("<Table><TR><TD>objet</TD><TD>Cause</TD></TR><TR><TD>123456</TD><TD>doublon</TD></TR></Table>");
            Results.addDetails("Début de la génération du tableau de synthèse" + "<BR/>" + AddDetailsSynthesCompare(_diffRef, _diffComp));

            WriteTabToFile(_diff, fullFileName);

            if (string.IsNullOrEmpty(fullFileName))
            {
                Results.addDetails("Export du modèle en erreur");
            }
            else
            {
                Results.addDetails("Fichier à analyser : " + fullFileName.Replace(" ", "%20"));
                //Results.addDetails("<a href =\"/Archiver/DownloadFile?fullFileName=" + fullFileName.Replace(" ", "%20") + "\">>Télécharger</a>&nbsp&nbsp&nbsp&nbsp<a href=\"file:///" + fileDir + "\">>Ouvrir le répertoire</a>");
                Results.addDetails("<a href =\"file:///" + fileDir + "\">>Ouvrir le répertoire</a>");
                Results.Title = "Comparaison OK";
            }
        }