Esempio n. 1
0
        /// <summary>
        /// Methode pour lancer la deserialisation d'un fichier chiffre
        /// </summary>
        /// <param name="Chiffrement">Chiffrement du fichier</param>
        /// <param name="ListeDossier">L'arborescence qui va recuperer le resultat de la deserialisation</param>
        private static void CaseDeserialisation(Rijndael Chiffrement, ref Dossier ListeDossier)
        {
            // Si nous n'avons pas serialiser avant ou que notre base de donnee a ete supprime, on ne peut pas deserialiser
            if (Constantes.ChoixSerialisation == null)
            {
                Console.WriteLine("Le fichier de Serialisation n'existe pas (vous n'avez peut etre pas serialiser de donnee)\n");
            }
            else
            {
                // Si l'utilisateur saisit un mot de passe invalide, alors on supprime la base de donnee
                if (!SaisieUtilisateur.MotDePasseValide())
                {
                    Constantes.ChoixSerialisation = null;
                    File.Delete(Constantes.CheminFichierChiffrer);
                    Console.WriteLine("Mot de passe Invalide 3 tentatives .. Suppression de la Base de donnée\n");
                }

                // Sinon on essaie de deserialiser
                else
                {
                    try
                    {
                        Constantes.ChoixSerialisation.Deserialise(Chiffrement, ref ListeDossier);
                        Constantes.ChoixSerialisation = null;
                    }
                    catch (FileNotFoundException)
                    {
                        Console.WriteLine("Le fichier n'existe pas\n");
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Methode pour le lancement de la serialisation de notre arborescence
        /// </summary>
        /// <param name="Chiffrement">Chiffrement du fichier</param>
        /// <param name="ListeDossier">L'arborescence que l'on veut chiffrer</param>
        private static void CaseSerialisation(Rijndael Chiffrement, Dossier ListeDossier)
        {
            // Si l'arborescence est null, on ne peut pas serialiser
            if (ListeDossier == null)
            {
                Console.WriteLine("Il n'y a rien a Serialiser\n");
            }
            else
            {
                Console.WriteLine("Comment voulez vous Serialiser votre arborescence ? ");
                Console.WriteLine("Taper 1 pour une serialisation binaire");
                Console.WriteLine("Taper 2 pour une serialisation XML\n");

                int ChoixUtilisateur;
                do
                {
                    try
                    {
                        ChoixUtilisateur = SaisieUtilisateur.ChoixUtilisateurValide();
                    }
                    catch (FormatException)
                    {
                        ChoixUtilisateur = -1;
                        Console.WriteLine("Combinaison Invalide");
                    }
                } while ((ChoixUtilisateur != 1) && (ChoixUtilisateur != 2));

                // Utilisation du pattern Factory
                if (ChoixUtilisateur == 1)
                {
                    Constantes.ChoixSerialisation = new SerialisationBinaire();
                }
                else
                {
                    Constantes.ChoixSerialisation = new SerialisationXML();
                }

                SaisieUtilisateur.ChoixCleChiffrement(ref Chiffrement);
                Constantes.ChoixSerialisation.Serialise(Chiffrement, ListeDossier);

                // On creer un mot de passe pour le fichier
                SaisieUtilisateur.ChoixMotDePasse();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// On effectue la recherche d'un dossier dans une arborescence
        /// </summary>
        /// <param name="ListeDossier">Arborescence ou l'on recherche un dossier</param>
        /// <returns>Le dossier recherche</returns>
        private static Dossier RechercheDossier(Dossier ListeDossier)
        {
            Dossier DossierParent = null;
            int     ChoixUtilisateur;

            while (DossierParent == null)
            {
                Console.WriteLine(ListeDossier.ToString(false));
                try
                {
                    ChoixUtilisateur = SaisieUtilisateur.ChoixUtilisateurValide();
                    DossierParent    = ListeDossier.RechercherDossier(ChoixUtilisateur);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Dossier Inexistant");
                }
            }
            return(DossierParent);
        }
Esempio n. 4
0
        /// <summary>
        /// Formulaire pour la creation d'un nouveau contact
        /// </summary>
        /// <returns>Le contact</returns>
        private static Contact FormulaireCreationContact()
        {
            Console.WriteLine("Quel est le nom de votre contact ?");
            string NomContact = Console.ReadLine();

            Console.WriteLine("\nQuel est le prenom de votre contact ?");
            string PrenomContact = Console.ReadLine();

            Console.WriteLine("\nQuel est la societe de votre contact ?");
            string SocieteContact = Console.ReadLine();


            Console.WriteLine("\nQuel est le courrier de votre contact ? (adresse email valide)\n");
            bool   IsCourrielValid = false;
            string CourrielContact = null;

            while (!IsCourrielValid)
            {
                CourrielContact = Console.ReadLine();
                IsCourrielValid = Contact.IsValidCourriel(CourrielContact);
            }

            AffichageRelation();
            int  RelationContact = -1;
            bool IsRelationValide;

            do
            {
                try
                {
                    RelationContact  = SaisieUtilisateur.ChoixUtilisateurValide();
                    IsRelationValide = true;
                }
                catch (FormatException e)
                {
                    IsRelationValide = false;
                    Console.WriteLine(e.Message);
                }
            } while (!IsRelationValide);
            return(new Contact(NomContact, PrenomContact, CourrielContact, SocieteContact, LienMethodeStatique.IntToLien(RelationContact)));
        }
Esempio n. 5
0
        /// <summary>
        /// Fonction Main du programme
        /// </summary>
        /// <param name="args">Aucun argument en ligne de commande pour cette solution </param>
        static void Main(string[] args)
        {
            bool     Running      = true;
            Dossier  ListeDossier = null;
            int      EntierChoixUtilisateur;
            Rijndael Chiffrement = Rijndael.Create();

            do
            {
                AffichageMenu();
                try
                {
                    EntierChoixUtilisateur = SaisieUtilisateur.ChoixUtilisateurValide();
                    Running = ChoixMethode(ref ListeDossier, Chiffrement, EntierChoixUtilisateur);
                }
                catch (FormatException)
                {
                    Console.Write("Instruction inconnue\n");
                }
            } while (Running);
        }