Пример #1
0
        public static void Analyser(Guid projectId, TextWriter output)
        {
            using (SpecflowEntities entities = new SpecflowEntities())
            {
                Projet projet = entities.Projets.FirstOrDefault(p => p.Id == projectId);
                if (projet == null)
                {
                    throw new ExceptionTechnique("Aucun projet n'a pour identifiant : " + projectId);
                }

                List <Fonctionnalite> fonctionnalites = GetResult(projet, output);

                if (fonctionnalites == null)
                {
                    output.WriteLine("- Echec ! :(");
                    return;
                }

                output.WriteLine("- Purge des fonctionnalités");
                foreach (Fonctionnalite feature in projet.Fonctionnalites.ToList())
                {
                    entities.Fonctionnalites.Remove(feature);
                }
                entities.SaveChanges();

                output.WriteLine("- Ajout des fonctionnalités");
                fonctionnalites.ForEach(f => projet.Fonctionnalites.Add(f));
                entities.SaveChanges();

                output.WriteLine("- Réussi :)");
            }
        }
Пример #2
0
        public static void Analyser(string nomProjet, string versionProjet, string pathToFeatures,
                                    string pathToDll, string pathToTestSetting, TextWriter output)
        {
            if (!Directory.Exists(pathToFeatures))
            {
                throw new ExceptionFonctionnelle("Le dossier '" + pathToFeatures + "' n'existe pas.");
            }

            if (!File.Exists(pathToDll))
            {
                throw new ExceptionFonctionnelle("Le fichier '" + pathToDll + "' n'existe pas.");
            }

            nomProjet = nomProjet.Trim();
            if (string.IsNullOrEmpty(nomProjet))
            {
                throw new ExceptionFonctionnelle("Le nom du projet est vide.");
            }

            using (SpecflowEntities entities = new SpecflowEntities())
            {
                Projet projet = entities.Projets.FirstOrDefault(p => p.Nom == nomProjet && p.Version == versionProjet);
                if (projet == null)
                {
                    projet = new Projet()
                    {
                        Id = Guid.NewGuid(), Nom = nomProjet, Version = versionProjet, PathToFeatures = pathToFeatures, PathToTestDll = pathToDll, PathToTestSettings = pathToTestSetting
                    };
                    entities.Projets.Add(projet);
                }

                List <Fonctionnalite> fonctionnalites = GetResult(projet, output);

                if (fonctionnalites == null)
                {
                    output.WriteLine("- Echec ! :(");
                    return;
                }

                output.WriteLine("- Purge des fonctionnalités");
                foreach (Fonctionnalite feature in projet.Fonctionnalites.ToList())
                {
                    entities.Fonctionnalites.Remove(feature);
                }
                entities.SaveChanges();

                output.WriteLine("- Ajout des fonctionnalités");
                fonctionnalites.ForEach(f => projet.Fonctionnalites.Add(f));
                entities.SaveChanges();

                output.WriteLine("- Réussi :)");
            }
        }