コード例 #1
0
 public Contacts(Personne user)
 {
     InitializeComponent();
     User = user;
     User.ListeContact   = ContactManager.GetListeContactsByUserId(User.Id);
     User.ListePersonnes = PersonneManager.GetListePersonnesByListeContacts(User.ListeContact);
 }
コード例 #2
0
        private void rechParVilleCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string          ville = rechParVilleCombo.SelectedItem.ToString();
            List <Personne> liste = PersonneManager.GetByVille(ville);

            UpdateListeContact(liste);
        }
コード例 #3
0
        // Handler pour supprimer un contact
        private void SupprimerContact(object sender, RoutedEventArgs e)
        {
            MessageBoxResult ret = MessageBox.Show(this, "etes vous sure de vouloir supprimer ce contact?", "warning", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (ret == MessageBoxResult.Yes)
            {
                Image    img              = (Image)sender;
                Personne contact          = (Personne)img.DataContext;
                Contact  contactSupprimer = new Contact();
                contactSupprimer.IdUser    = User.Id;
                contactSupprimer.IdContact = contact.Id;

                bool contactSupprime = ContactManager.SupprimerContact(contactSupprimer);
                if (contactSupprime)
                {
                    // enlever le contact de la liste en memoire
                    User.ListeContact   = ContactManager.GetListeContactsByUserId(User.Id);
                    User.ListePersonnes = PersonneManager.GetListePersonnesByListeContacts(User.ListeContact);
                    //vider le stackpanel
                    ListeContactVue.Children.Clear();
                    //reafficher le stackPanel avec la nouvelle liste
                    ajouterContactTrier(User.ListeContact, User.ListePersonnes);
                }
            }
            else if (ret == MessageBoxResult.No)
            {
                MessageBox.Show("Suppression annulée");
            }
        }
コード例 #4
0
        private void bttnEnregistrer_Click(object sender, RoutedEventArgs e)
        {
            Personne p = new Personne();

            p.Nom                      = nomTxt.Text.ToString();
            p.Prenom                   = prenomTxt.Text.ToString();
            p.Age                      = int.Parse(ageTxt.Text.ToString());
            p.Coord.Telephone          = teletphoneTxt.Text.ToString();
            p.Coord.Fax                = faxTxt.Text.ToString();
            p.Coord.Email              = emailTxt.Text.ToString();
            p.Profession.Titre         = professionTxt.Text.ToString();
            p.Profession.NomEntreprise = entrepriseTxt.Text.ToString();
            p.Adresse.Rue              = rueTxt.Text.ToString();
            p.Adresse.Ville            = villeTxt.Text.ToString();
            p.Adresse.CodePostal       = codePostalTxt.Text.ToString();
            p.Adresse.Pays             = paysTxt.Text.ToString();
            p.Categorie.Titre          = categorie;
            p.Id                     = id;
            p.Coord.Id               = id;
            p.Coord.Id_personne      = id;
            p.Profession.Id          = id;
            p.Profession.Id_personne = id;
            p.Adresse.Id             = id;
            p.Adresse.Id_personne    = id;
            p.Categorie.Id           = id;
            p.Categorie.Id_personne  = id;
            p.Contact.Id             = id;
            p.Contact.Id_personne    = id;

            PersonneManager.Add(p);
            System.Windows.Forms.MessageBox.Show("Contact Ajouté!");
        }
コード例 #5
0
        private void rechParPaysCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //System.Windows.Forms.MessageBox.Show(rechParPaysCombo.Text);
            string          pays  = rechParPaysCombo.SelectedItem.ToString();
            List <Personne> liste = PersonneManager.GetByPays(pays);

            UpdateListeContact(liste);
        }
コード例 #6
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // get id du dernier contact
            List <Personne> liste = new List <Personne>();

            liste = PersonneManager.GetAllPersonne();
            Personne dernier = liste.Last();

            id = dernier.Id + 1;
        }
コード例 #7
0
        // si appuie sur la photo de l utilisateur
        private void ImgUser_MouseDown(object sender, MouseButtonEventArgs e)
        {
            Infos infoWindows = new Infos(User, User);

            infoWindows.ShowDialog();
            if (infoWindows.IsModified)
            {
                User = PersonneManager.GetUserLogin(User.Courriel, User.Password);
                this.ImgUser.Source  = new BitmapImage(new Uri(@"" + User.UrlPhoto, UriKind.RelativeOrAbsolute));
                this.NomUser.Content = User.Nom;
            }
        }
コード例 #8
0
 public void SaveOrUpdate(Personne personne)
 {
     try
     {
         PersonneManager manager = new PersonneManager(new PersonneRepository(new EFUnitOfWork()));
         manager.SaveOrUpdate(personne);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
コード例 #9
0
        private void btnInscrire_Click(object sender, RoutedEventArgs e)
        {
            //si les champs obligatoires ont ete saisies, on cree un user
            if (txtCourriel.Text.Length > 0 && txtNom.Text.Length > 0)
            {
                if (Regex.IsMatch(txtCourriel.Text, @"^[a-zA-Z0-9\w\.-]*@[a-zA-Z0-9\w\.-]*\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
                {
                    Contact contactTableModif = new Contact();

                    if (date.Text.Length <= 0)
                    {
                        ContactModifier.Aniversaire = null;
                    }
                    else
                    {
                        ContactModifier.Aniversaire = Convert.ToDateTime(date.Text);
                    }
                    ContactModifier.Adresse   = txtAdresse.Text;
                    ContactModifier.Celulaire = txtCel.Text;
                    ContactModifier.Compagnie = txtCompagnie.Text;
                    ContactModifier.Courriel  = txtCourriel.Text;
                    ContactModifier.Nom       = txtNom.Text;
                    ContactModifier.Pays      = txtPays.Text;
                    ContactModifier.Province  = txtProvince.Text;
                    ContactModifier.SiteWeb   = txtSite.Text;
                    ContactModifier.Telephone = txtTelephone.Text;
                    ContactModifier.Ville     = txtVille.Text;

                    bool userMofifie = PersonneManager.ModifiertUser(ContactModifier);
                    //tester si la insertion est bien passe
                    if (userMofifie)
                    {
                        IsModified = true;
                        this.Close();
                    }
                    else
                    {
                        txtMsgErreur.Text = "Le contact n'a pas ete modifie, ressayez, svp.";
                        IsModified        = false;
                    }
                }
                else
                {
                    txtMsgErreur.Text = "Entrez un courriel valide, svp.";
                }
            }
            else
            {
                txtMsgErreur.Text = "Saisir les champs obligatoires, svp!";
            }
        }
コード例 #10
0
ファイル: Inscription.xaml.cs プロジェクト: thachgiasoft/OOP
 private void txtCourriel_LostFocus(object sender, RoutedEventArgs e)
 {
     //adresse de courriel valide
     if (Regex.IsMatch(txtCourriel.Text, @"^[a-zA-Z0-9\w\.-]*@[a-zA-Z0-9\w\.-]*\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
     {
         //get personne by courriel
         bool userExists = PersonneManager.UserExistsByEmail(txtCourriel.Text);
         //user n'existe pas
         if (!userExists)
         {
             txtAdresse.IsEnabled    = true;
             txtCel.IsEnabled        = true;
             txtCompagnie.IsEnabled  = true;
             txtCourriel.IsEnabled   = true;
             txtNom.IsEnabled        = true;
             txtPays.IsEnabled       = true;
             txtProvince.IsEnabled   = true;
             txtPwd.IsEnabled        = true;
             txtSite.IsEnabled       = true;
             txtTelephone.IsEnabled  = true;
             txtVille.IsEnabled      = true;
             btnChoixPhoto.IsEnabled = true;
             btnInscrire.IsEnabled   = true;
             txtMsgErreur.Text       = "";
         }
         else //user invalide
         {
             txtAdresse.IsEnabled    = false;
             txtCel.IsEnabled        = false;
             txtCompagnie.IsEnabled  = false;
             txtCourriel.IsEnabled   = true;
             txtNom.IsEnabled        = false;
             txtPays.IsEnabled       = false;
             txtProvince.IsEnabled   = false;
             txtPwd.IsEnabled        = true;
             txtSite.IsEnabled       = false;
             txtTelephone.IsEnabled  = false;
             txtVille.IsEnabled      = false;
             btnChoixPhoto.IsEnabled = true;
             btnInscrire.IsEnabled   = false;
             txtMsgErreur.Text       = "Un user avec ce courriel existe deja!";
         }
     }
     else
     {
         txtMsgErreur.Text = "Adresse de courriel n'est pas valide!";
     }
 }
コード例 #11
0
        //public ActionResult SaveComment(string commentaire, string nom, string note, string nomSeo)
        public ActionResult SaveComment(SaveCommentViewModel comment)
        {
            using (var context = new AvisEntities())
            {
                var formationEntity = context.Formation.FirstOrDefault(f => f.NomSeo == comment.nomSeo);

                if (formationEntity == null)
                {
                    return(RedirectToAction("Acceuil", "Home"));
                }

                Avis nouvelAvis = new Avis();

                nouvelAvis.DateAvis    = DateTime.Now;
                nouvelAvis.Description = comment.commentaire;

                nouvelAvis.UserId = User.Identity.GetUserId();

                var userId = User.Identity.GetUserId();

                var mgerUnicite = new UniqueAvisVerification();
                if (!mgerUnicite.EstAuthoriseACommenter(userId, formationEntity.Id))
                {
                    TempData["Message"] = "Désolé, vous ne pouvez poster qu'un seul avis par formation";
                    return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.nomSeo }));
                }

                var mger = new PersonneManager();
                nouvelAvis.Nom = mger.GetNomFromUserId(userId);



                double dNote = 0;

                if (!double.TryParse(comment.note, NumberStyles.Any, CultureInfo.InvariantCulture, out dNote))
                {
                    throw new Exception("impossible de parser la note " + comment.note);
                }

                nouvelAvis.Note = dNote;

                nouvelAvis.IdFormation = formationEntity.Id;
                context.Avis.Add(nouvelAvis);
                context.SaveChanges();
            }

            return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.nomSeo }));
        }
コード例 #12
0
        // Handler ajouter un contact
        private void addContact_MouseDown(object sender, MouseButtonEventArgs e)
        {
            AddContact windowsAddContact = new AddContact(User);

            windowsAddContact.ShowDialog();
            if (windowsAddContact.IsModifier)
            {
                User.ListeContact   = ContactManager.GetListeContactsByUserId(User.Id);
                User.ListePersonnes = PersonneManager.GetListePersonnesByListeContacts(User.ListeContact);
                ListeContactVue.Children.Clear();
                //reafficher le stackPanel avec la nouvelle liste
                ajouterContactTrier(User.ListeContact, User.ListePersonnes);
            }

            windowsAddContact.Close();
        }
コード例 #13
0
        private void btnConnect_Click(object sender, RoutedEventArgs e)
        {
            string courriel = txtCourriel.Text;
            string password = txtPwd.Password;


            if (courriel != "" && password != "")
            {
                try {
                    User = PersonneManager.GetUserLogin(courriel, password);
                    if (User == null)
                    {
                        MessageBox.Show("Login fail, veulliez ressayer, svp.", "LOGIN FAIL", MessageBoxButton.OK, MessageBoxImage.Error);
                        txtPwd.Password = "";
                    }
                    else
                    {
                        this.Visibility = System.Windows.Visibility.Hidden;
                        //creer nouvelles fenetres ici!
                        Contacts contactsWindow = new Contacts(User);
                        contactsWindow.Show();

                        //update lastVisit BD
                        int retour = PersonneManager.UpdateLastVisit(DateTime.Now, User.Id);
                        this.Close();
                    }
                } catch (Exception) {
                    MessageBox.Show("serveur indisponible");
                    this.Close();
                    throw;
                }
            }
            else if (courriel == "")
            {
                MessageBox.Show("Saisir le courriel, svp.", "Erreur de saisie", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            else if (password == "")
            {
                MessageBox.Show("Saisir le password, svp.", "Erreur de saisie", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            else
            {
                MessageBox.Show("Saisir les champs, svp.", "Erreur de saisie", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            //SQLHelper.GetUserLogin(courriel, password);
        }
コード例 #14
0
 private void bttnRechercher_Click(object sender, RoutedEventArgs e)
 {
     if (choix.Equals("Nom"))
     {
         choixInput = rechercheTexte.Text.ToString();
         //System.Windows.Forms.MessageBox.Show(choixInput);
         List <Personne> liste = PersonneManager.GetByName(choixInput);
         UpdateListeContact(liste);
     }
     else if (choix.Equals("Prenom"))
     {
         //System.Windows.Forms.MessageBox.Show(choix);
         choixInput = rechercheTexte.Text.ToString();
         //System.Windows.Forms.MessageBox.Show(choixInput);
         List <Personne> liste = PersonneManager.GetByFname(choixInput);
         UpdateListeContact(liste);
     }
 }
コード例 #15
0
        // Handler pour afficher info Contact
        private void InfoContact(object sender, RoutedEventArgs e)
        {
            Button   b       = (Button)sender;
            Personne contact = (Personne)b.DataContext;

            Infos infoWindows = new Infos(User, contact);

            infoWindows.ShowDialog();
            if (infoWindows.IsModified)
            {
                User.ListeContact   = ContactManager.GetListeContactsByUserId(User.Id);
                User.ListePersonnes = PersonneManager.GetListePersonnesByListeContacts(User.ListeContact);
                ListeContactVue.Children.Clear();
                //reafficher le stackPanel avec la nouvelle liste
                ajouterContactTrier(User.ListeContact, User.ListePersonnes);
            }
            infoWindows.Close();
        }
コード例 #16
0
        // Modifier Contact
        private void bttnModifier_Click(object sender, EventArgs e)
        {
            // modifier personne
            p.Nom                      = nomText.Text.ToString();
            p.Prenom                   = prenomText.Text.ToString();
            p.Age                      = int.Parse(ageText.Text.ToString());
            p.Coord.Telephone          = telephoneText.Text.ToString();
            p.Coord.Fax                = faxText.Text.ToString();
            p.Coord.Email              = emailText.Text.ToString();
            p.Profession.Titre         = professionText.Text.ToString();
            p.Profession.NomEntreprise = entrepriseText.Text.ToString();
            p.Adresse.Rue              = rueText.Text.ToString();
            p.Adresse.Ville            = villeText.Text.ToString();
            p.Adresse.CodePostal       = codePostalText.Text.ToString();
            p.Adresse.Pays             = paysTextBox.Text.ToString();
            p.Categorie.Titre          = categorieText.Text.ToString();

            PersonneManager.Edit(p);
            System.Windows.Forms.MessageBox.Show("Modification Enrégistré!");
        }
コード例 #17
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // Pour plus d'informations sur l'activation de la confirmation de compte et de la réinitialisation de mot de passe, visitez https://go.microsoft.com/fwlink/?LinkID=320771
                    // Envoyer un message électronique avec ce lien
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>");

                    var mger = new PersonneManager();
                    mger.InsertNom(user.Id, model.Nom);


                    if (!String.IsNullOrEmpty(model.ReturnUrl))
                    {
                        return(Redirect(model.ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Accueil", "Home"));
                    }
                }
                AddErrors(result);
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }
コード例 #18
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            List <Personne> listeContacts = PersonneManager.GetAll();

            UpdateListeContact(listeContacts);
        }
コード例 #19
0
ファイル: AddContact.xaml.cs プロジェクト: thachgiasoft/OOP
        private void btnInscrire_Click(object sender, RoutedEventArgs e)
        {
            //si les champs obligatoires ont ete saisies, on cree un user
            if (txtCourriel.Text.Length > 0 && txtNom.Text.Length > 0)
            {
                if (Regex.IsMatch(txtCourriel.Text, @"^[a-zA-Z0-9\w\.-]*@[a-zA-Z0-9\w\.-]*\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"))
                {
                    Personne personneAjoute = new Personne();
                    Contact  contactAjoute  = new Contact();

                    personneAjoute.Adresse = txtAdresse.Text;
                    if (date.Text.Length <= 0)
                    {
                        personneAjoute.Aniversaire = null;
                    }
                    else
                    {
                        personneAjoute.Aniversaire = Convert.ToDateTime(date.Text);
                    }

                    personneAjoute.Celulaire = txtCel.Text;
                    personneAjoute.Compagnie = txtCompagnie.Text;
                    personneAjoute.Courriel  = txtCourriel.Text;
                    personneAjoute.LastVisit = null;
                    personneAjoute.Nom       = txtNom.Text;
                    personneAjoute.Password  = null;
                    personneAjoute.IsUser    = false;
                    personneAjoute.IsVisible = false;
                    personneAjoute.Pays      = txtPays.Text;
                    personneAjoute.Province  = txtProvince.Text;
                    personneAjoute.SiteWeb   = txtSite.Text;
                    personneAjoute.Telephone = txtTelephone.Text;
                    personneAjoute.Ville     = txtVille.Text;
                    if (NewUrl == null)
                    {
                        personneAjoute.UrlPhoto = @"images\photoProfile.png";//utiliser une valeur par default
                    }
                    else
                    {
                        personneAjoute.UrlPhoto = NewUrl;
                    }

                    contactAjoute.IdUser     = User.Id;
                    contactAjoute.IsFavorite = (bool)chkFavorite.IsChecked;

                    bool userCree = PersonneManager.InsertUser(personneAjoute);
                    //tester si la insertion est bien passe
                    if (userCree)
                    {
                        contactAjoute.IdContact = personneAjoute.Id;
                        bool contCree = ContactManager.InsertContact(contactAjoute);
                        if (contCree)
                        {
                            IsModifier = true;
                            this.Close();
                        }
                        else
                        {
                            IsModifier = false;
                        }
                    }
                    else
                    {
                        txtMsgErreur.Text = "Le contact n'a pas ete cree, ressayez, svp.";
                    }
                }
                else
                {
                    txtMsgErreur.Text = "Entrez un courriel valide, svp.";
                }
            }
            else
            {
                txtMsgErreur.Text = "Saisir les champs obligatoires, svp!";
            }
        }
コード例 #20
0
ファイル: Inscription.xaml.cs プロジェクト: thachgiasoft/OOP
        private void btnInscrire_Click(object sender, RoutedEventArgs e)
        {
            //si les champs obligatoires ont ete saisies, on cree un user
            if (txtCourriel.Text.Length > 0 && txtPwd.Password.Length > 0 && txtNom.Text.Length > 0)
            {
                Personne personneInscrite = new Personne();
                personneInscrite.Adresse = txtAdresse.Text;
                if (date.Text.Length <= 0)
                {
                    personneInscrite.Aniversaire = null;
                }
                else
                {
                    personneInscrite.Aniversaire = Convert.ToDateTime(date.Text);
                }

                personneInscrite.Celulaire      = txtCel.Text;
                personneInscrite.Compagnie      = txtCompagnie.Text;
                personneInscrite.Courriel       = txtCourriel.Text;
                personneInscrite.IsUser         = true;
                personneInscrite.IsVisible      = (bool)chkVisible.IsChecked;//vient comme bool? par default
                personneInscrite.LastVisit      = DateTime.Now;
                personneInscrite.ListeContact   = new List <Contact>();
                personneInscrite.ListePersonnes = new List <Personne>();
                personneInscrite.Nom            = txtNom.Text;
                personneInscrite.Password       = txtPwd.Password;
                personneInscrite.Pays           = txtPays.Text;
                personneInscrite.Province       = txtProvince.Text;
                personneInscrite.SiteWeb        = txtSite.Text;
                personneInscrite.Telephone      = txtTelephone.Text;
                personneInscrite.Ville          = txtVille.Text;
                if (newUrl == null)
                {
                    personneInscrite.UrlPhoto = @"images\photoProfile.png";//utiliser une valeur par default
                }
                else
                {
                    personneInscrite.UrlPhoto = newUrl;
                }


                bool userCree = PersonneManager.InsertUser(personneInscrite);
                //tester si la insertion est bien passe
                if (userCree)
                {
                    //stocker le user dans la fenetre login
                    MainWindow.User = personneInscrite;

                    //nouvelles fenetres
                    Contacts contactsWindow = new Contacts(personneInscrite);
                    contactsWindow.Show();
                    this.Close();
                }
                else
                {
                    txtMsgErreur.Text = "L'utilisateur n'a pas ete cree, ressayez, svp.";
                }
            }
            else
            {
                txtMsgErreur.Text = "Saisir les champs obligatoires, svp!";
            }
        }
コード例 #21
0
        public ActionResult SaveComment(SaveCommentViewModel comment)
        {
            using (var context = new AvisEntities())
            {
                var formationEntity = context.Formation.FirstOrDefault(f => f.NomSeo == comment.NomSeo);
                if (formationEntity == null)
                {
                    return(RedirectToAction("Accueil", "Home"));
                }

                Avis nouvelAvis = new Avis();
                nouvelAvis.DateAvis = DateTime.Now;

                var userId = User.Identity.GetUserId();

                var mgerUnicite = new UniqueAvisVerification();
                if (!mgerUnicite.EstAutoriseACommenter(userId, formationEntity.Id))
                {
                    TempData["Message"] = "Désolé, un seul avis par compte utilisateur.";
                    return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.NomSeo }));
                }

                var mger = new PersonneManager();
                nouvelAvis.Nom         = mger.GetNomFromUserId(userId);
                nouvelAvis.Description = comment.Commentaire;

                nouvelAvis.UserId = userId;

                double dNote = 0;

                if (!double.TryParse(comment.Note, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out dNote))
                {
                    throw new Exception("Impossible de parser la note " + comment.Note);
                }

                nouvelAvis.Note = dNote;

                nouvelAvis.IdFormation = formationEntity.Id;

                context.Avis.Add(nouvelAvis);

                try
                {
                    context.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                          eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    throw;
                }

                //context.SaveChanges();
            }

            return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.NomSeo }));
        }
コード例 #22
0
        static void Main(string[] args)
        {
            Console.WriteLine(" TEST GETALL");
            List <Personne> liste = new List <Personne>();

            liste = PersonneManager.GetAll();
            foreach (Personne p in liste)
            {
                Console.WriteLine("Nom : " + p.Nom);
                Console.WriteLine("Prenom : " + p.Prenom);
                Console.WriteLine("Categorie : " + p.Categorie.Titre);
                Console.WriteLine("Profession : " + p.Profession.Titre);

                Console.WriteLine("--------------");
            }
            List <Personne> listePersonne = new List <Personne>();

            listePersonne = PersonneManager.GetAllPersonne();
            Personne dernier = listePersonne.Last();

            Console.WriteLine("last person name " + dernier.Nom);
            Console.WriteLine("last person id " + dernier.Id);
            int id_personne = dernier.Id + 1;

            Console.WriteLine("id personne " + id_personne);
            // test supprimer
            //  PersonneManager.Delete(8);
            // test add contact

            /*  Personne newPersonne = new Personne(id_personne, "Paul", "Delarue", 26,
             *    new Contact(id_personne, id_personne),
             *    new Profession(id_personne, "devops", "IDM", id_personne),
             *    new CategoriePersonne(id_personne,"Travail", id_personne),
             *    new Coordonnees(id_personne, "555-1762-862","aaa","*****@*****.**", id_personne),
             *    new Adresse(id_personne,"mouton duvernet","75014","Paris","France", id_personne));
             *
             *
             * // AJOUT
             * PersonneManager.Add(newPersonne);
             */



            /*
             * Console.WriteLine("*****************************");
             * Console.WriteLine(" TEST GETBY Ville ");
             * List<Personne> parVille = new List<Personne>();
             * parVille = PersonneManager.GetByVille("Amsterdam");
             * Console.WriteLine(" taille tab : "+ parVille.Count);
             * foreach (Personne pA in parVille)
             * {
             *
             *  Console.WriteLine("Nom : " + pA.Nom);
             *  Console.WriteLine("Prenom : " + pA.Prenom);
             *  Console.WriteLine("Categorie : " + pA.Categorie.Titre);
             *  Console.WriteLine("Profession : " + pA.Profession.Titre);
             *
             *  Console.WriteLine("--------------");
             * }/*
             * Console.WriteLine(" TEST GETBY Pays");
             * List<Personne> parPays = new List<Personne>();
             * parPays = PersonneManager.GetByPays("Canada");
             * Console.WriteLine(" taille tab : " + parPays.Count);
             * foreach (Personne pA in parPays)
             * {
             *
             *  Console.WriteLine("Nom : " + pA.Nom);
             *  Console.WriteLine("Prenom : " + pA.Prenom);
             *  Console.WriteLine("Categorie : " + pA.Categorie.Titre);
             *  Console.WriteLine("Profession : " + pA.Profession.Titre);
             *
             *  Console.WriteLine("--------------");
             * }
             * Console.WriteLine(" TEST GETBY NOm");
             * List<Personne> parNom = new List<Personne>();
             * parNom = PersonneManager.GetByName("Vauban");
             * Console.WriteLine(" taille tab : " + parNom.Count);
             * foreach (Personne pA in parNom)
             * {
             *
             *  Console.WriteLine("Nom : " + pA.Nom);
             *  Console.WriteLine("Prenom : " + pA.Prenom);
             *  Console.WriteLine("Ville : " + pA.Adresse.Ville);
             *
             *  Console.WriteLine("Categorie : " + pA.Categorie.Titre);
             *  Console.WriteLine("Profession : " + pA.Profession.Titre);
             *  Console.WriteLine("Profession id : " + pA.Profession.Id);
             *  Console.WriteLine("Profession id_pers : " + pA.Profession.Id_personne);
             *
             *
             *
             *  Console.WriteLine("--------------");
             * }
             *
             * Personne aModifier = parNom.ElementAt(0);
             * Console.WriteLine("Nom : " + aModifier.Nom);
             * Console.WriteLine("Prenom : " + aModifier.Prenom);
             * Console.WriteLine("Categorie : " + aModifier.Categorie.Titre);
             * Console.WriteLine("Profession : " + aModifier.Profession.Titre);
             * Console.WriteLine("Profession id : " + aModifier.Profession.Id);
             * Console.WriteLine("Profession id_pers : " + aModifier.Profession.Id_personne);
             *
             *
             *
             * // aModifier.Nom = "Vauban";
             * // Console.WriteLine("nom " + aModifier.Nom);
             *
             * // aModifier.Profession.Titre = "developpeur";
             * // aModifier.Adresse.Ville = "Quebec";
             * // Console.WriteLine("profession " + aModifier.Profession.Titre);
             * // PersonneManager.Edit(aModifier);
             */
        }