示例#1
0
 private void supprimerFournisseur()
 {
     if (currentCompteServeur != null)
     {
         MessageBoxResult res = MessageBox.Show("Voulez vous vraiment supprimer ce compte de connexion ? " + currentCompteServeur.Fournisseur, "SIMAIL", MessageBoxButton.YesNo, MessageBoxImage.Question);
         if (res.Equals(MessageBoxResult.Yes))
         {
             // Suppression du compte serveur courant
             ListeFournisseurs.Remove(currentCompteServeur);
             majListeFournisseurs();
             if (ListeFournisseurs.Count == 0)
             {
                 clearCompteServeurSaisie();
                 currentCompteServeur = null;
                 ListeFournisseurs.Add(gNouveauCptServ);
                 majListeFournisseurs();
             }
             else
             {
                 currentCompteServeur = ListeFournisseurs.Last();
                 chargerCompteServeur(currentCompteServeur);
                 I_Connexion_Fournisseur.SelectedItem = currentCompteServeur;
             }
         }
     }
     else
     {
         MessageBox.Show("Aucun compte de connexion sélectionné !", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
示例#2
0
        private void enregistrerFournisseur()
        {
            if (checkMandatoryFieldsFournisseur())
            {
                currentCompteServeur                  = new CompteServeur();
                currentCompteServeur.Fournisseur      = I_CptMessagerie_Fournisseur.Text;
                currentCompteServeur.methodeConnexion = (CompteServeur.MethConnexion)I_CptMessagerie_ModeCnx.SelectedItem;
                // IMAP
                currentCompteServeur.AdresseIMAP = I_CptMessagerie_AdresseIMAP.Text;
                currentCompteServeur.PortIMAP    = int.Parse(I_CptMessagerie_PortIMAP.Text);
                if (I_ChiffrementIMAPAucun.IsChecked ?? false)
                {
                    currentCompteServeur.ChiffrementIMAP = CompteServeur.Chiffrement.Aucun;
                }
                if (I_ChiffrementIMAPSSL.IsChecked ?? false)
                {
                    currentCompteServeur.ChiffrementIMAP = CompteServeur.Chiffrement.SSL;
                }
                if (I_ChiffrementIMAPTLS.IsChecked ?? false)
                {
                    currentCompteServeur.ChiffrementIMAP = CompteServeur.Chiffrement.TLS;
                }
                // SMTP
                currentCompteServeur.AdresseSMTP = I_CptMessagerie_AdresseSMTP.Text;
                currentCompteServeur.PortSMTP    = int.Parse(I_CptMessagerie_PortSMTP.Text);
                if (I_ChiffrementSMTPAucun.IsChecked ?? false)
                {
                    currentCompteServeur.ChiffrementSMTP = CompteServeur.Chiffrement.Aucun;
                }
                if (I_ChiffrementSMTPSSL.IsChecked ?? false)
                {
                    currentCompteServeur.ChiffrementSMTP = CompteServeur.Chiffrement.SSL;
                }
                //if (I_ChiffrementSMTPTLS.IsChecked ?? false)
                //{
                //    currentCompteServeur.ChiffrementSMTP = CompteServeur.Chiffrement.TLS;
                //}
                // Ajout du serveur de messagerie à la liste
                ListeFournisseurs.Add(currentCompteServeur);
                if (ListeFournisseurs.Contains(gNouveauCptServ))
                {
                    ListeFournisseurs.Remove(gNouveauCptServ);
                }
                I_Connexion_Fournisseur.ItemsSource = ListeFournisseurs;
                I_Connexion_Fournisseur.Items.Refresh();
                I_Connexion_Fournisseur.SelectedItem = currentCompteServeur;

                // Dans un fichier
                currentCompteServeur.save();
            }
            else
            {
                MessageBox.Show("Veuillez renseigner les informations du serveur de messagerie correctement.");
            }
        }
示例#3
0
 /// <summary>
 /// Afficher le volet configuration du compte de serveur
 /// </summary>
 private void I_Connexion_Fournisseur_GotFocus(object sender, RoutedEventArgs e)
 {
     IG_Connexion_Param.Visibility = Visibility.Visible;
     if (ListeFournisseurs.Contains(gNouveauCptServ) == false)
     {
         CompteServeur cs = (CompteServeur)I_Connexion_Fournisseur.SelectedItem;
         if (cs != null)
         {
             chargerCompteServeur(cs);
         }
     }
 }
示例#4
0
 private void BT_FournisseurSupprimer_Click(object sender, RoutedEventArgs e)
 {
     if (IT_CompteServeur.SelectedIndex != -1)
     {
         try
         {
             CompteServeur cs = (CompteServeur)IT_CompteServeur.SelectedItem;
             supprimerCompteServeur(cs);
         }
         catch (Exception e2)
         {
             MessageBox.Show(e2.Message);
         }
     }
 }
示例#5
0
        public Connexion()
        {
            InitializeComponent();
            SIMAIL.Classes.Utilisateur.CompteMessagerie c = new Classes.Utilisateur.CompteMessagerie();

            //Affichage
            IG_Connexion_Param.Visibility          = Visibility.Hidden;
            I_Connexion_Login.Text                 = gLoginText;
            I_Connexion_Login.Foreground           = Brushes.Gray;
            I_CptMessagerie_PortIMAP.Text          = gPortIMAPText;
            I_CptMessagerie_PortIMAP.Foreground    = Brushes.Gray;
            I_CptMessagerie_AdresseIMAP.Text       = gAdresseIMAPText;
            I_CptMessagerie_AdresseIMAP.Foreground = Brushes.Gray;
            I_CptMessagerie_Fournisseur.Text       = gFournisseurText;
            I_CptMessagerie_Fournisseur.Foreground = Brushes.Gray;
            I_CptMessagerie_AdresseSMTP.Text       = gAdresseSMTPText;
            I_CptMessagerie_AdresseSMTP.Foreground = Brushes.Gray;
            I_CptMessagerie_PortSMTP.Text          = gPortSMTPText;
            I_CptMessagerie_PortSMTP.Foreground    = Brushes.Gray;

            List <MethConnexion> methConnexionList = new List <MethConnexion>();

            I_CptMessagerie_ModeCnx.ItemsSource = methConnexionList;
            methConnexionList.Add(MethConnexion.Identifiants);
            //methConnexionList.Add(MethConnexion.OAuth2);
            //methConnexionList.Add(MethConnexion.OpenID);

            // Fournisseurs
            ListeFournisseurs    = new List <CompteServeur>();
            currentCompteServeur = new CompteServeur();

            // Instance du compte messagerie
            currentCompteMessagerie = new CompteMessagerie();

            I_Connexion_Fournisseur.SelectedIndex = -1;
            I_Connexion_Fournisseur.Items.Clear();
            I_Connexion_Fournisseur.ItemsSource = ListeFournisseurs;

            // Champs obligatoires
            _ChampsObligatoiresFournisseur = new Collection <TextBox>();
            _ChampsObligatoiresFournisseur.Add(this.I_CptMessagerie_Fournisseur);
            _ChampsObligatoiresFournisseur.Add(this.I_CptMessagerie_AdresseIMAP);
            _ChampsObligatoiresFournisseur.Add(this.I_CptMessagerie_PortIMAP);
            _ChampsObligatoiresFournisseur.Add(this.I_CptMessagerie_AdresseSMTP);
            _ChampsObligatoiresFournisseur.Add(this.I_CptMessagerie_PortSMTP);
        }
示例#6
0
 private void IT_CompteServeur_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key.Equals(Key.Delete))
     {
         if (IT_CompteServeur.SelectedIndex != -1)
         {
             try
             {
                 CompteServeur cs = (CompteServeur)IT_CompteServeur.SelectedItem;
                 supprimerCompteServeur(cs);
             }
             catch (Exception e2)
             {
                 MessageBox.Show(e2.Message);
             }
         }
     }
 }
示例#7
0
        private void chargerCompteServeur(CompteServeur cs)
        {
            clearCompteServeurSaisie();
            if (cs != null & ListeFournisseurs.Contains(cs))
            {
                I_CptMessagerie_Fournisseur.Text     = cs.Fournisseur;
                I_CptMessagerie_ModeCnx.SelectedItem = cs.methodeConnexion;
                I_CptMessagerie_PortIMAP.Text        = cs.PortIMAP.ToString();
                I_CptMessagerie_AdresseIMAP.Text     = cs.AdresseIMAP;
                I_CptMessagerie_PortSMTP.Text        = cs.PortSMTP.ToString();
                I_CptMessagerie_AdresseSMTP.Text     = cs.AdresseSMTP;
                if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.Aucun)
                {
                    I_ChiffrementSMTPAucun.IsChecked = true;
                }
                if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.SSL)
                {
                    I_ChiffrementSMTPSSL.IsChecked = true;
                }
                //if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.TLS)
                //{
                //    I_ChiffrementSMTPTLS.IsChecked = true;
                //}
                if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.SSL)
                {
                    I_ChiffrementIMAPSSL.IsChecked = true;
                }
                if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.TLS)
                {
                    I_ChiffrementIMAPTLS.IsChecked = true;
                }
                if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.Aucun)
                {
                    I_ChiffrementIMAPAucun.IsChecked = true;
                }

                // Le compte serveur devient le compte serveur courant.
                currentCompteServeur = cs;
            }
            else
            {
                MessageBox.Show("Erreur de chargement...");
            }
        }
示例#8
0
 private void showSelectedCompteServeur()
 {
     if (currentCompteMessagerie != null & currentCompteMessagerie.isAuthenticated())
     {
         if (IT_CompteServeur.SelectedIndex != -1)
         {
             if (IT_CompteServeur.SelectedItem.GetType().Equals(typeof(CompteServeur)))
             {
                 CompteServeur cs = (CompteServeur)IT_CompteServeur.SelectedItem;
                 I_CptMessagerie_Fournisseur.Text     = cs.Fournisseur;
                 I_CptMessagerie_ModeCnx.SelectedItem = cs.methodeConnexion;
                 I_CptMessagerie_PortIMAP.Text        = cs.PortIMAP.ToString();
                 I_CptMessagerie_AdresseIMAP.Text     = cs.AdresseIMAP;
                 I_CptMessagerie_PortSMTP.Text        = cs.PortSMTP.ToString();
                 I_CptMessagerie_AdresseSMTP.Text     = cs.AdresseSMTP;
                 if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.Aucun)
                 {
                     I_ChiffrementSMTPAucun.IsChecked = true;
                 }
                 if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.SSL)
                 {
                     I_ChiffrementSMTPSSL.IsChecked = true;
                 }
                 //if (cs.ChiffrementSMTP == CompteServeur.Chiffrement.TLS)
                 //{
                 //    I_ChiffrementSMTPTLS.IsChecked = true;
                 //}
                 if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.SSL)
                 {
                     I_ChiffrementIMAPSSL.IsChecked = true;
                 }
                 if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.TLS)
                 {
                     I_ChiffrementIMAPTLS.IsChecked = true;
                 }
                 if (cs.ChiffrementIMAP == CompteServeur.Chiffrement.Aucun)
                 {
                     I_ChiffrementIMAPAucun.IsChecked = true;
                 }
             }
         }
     }
 }
示例#9
0
        private void supprimerCompteServeur(CompteServeur pCptServ)
        {
            MessageBoxResult res = MessageBox.Show("Etes vous sûr de vouloir supprimer le compte " + pCptServ.Fournisseur + " ?", "SIMAIL", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (res.Equals(MessageBoxResult.Yes))
            {
                if (currentCompteMessagerie != null & currentCompteMessagerie.isAuthenticated())
                {
                    if (IT_CompteServeur.SelectedIndex != -1)
                    {
                        if (IT_CompteServeur.SelectedItem.GetType().Equals(typeof(CompteServeur)))
                        {
                            if (IT_CompteServeur.SelectedItem.Equals(pCptServ))
                            {
                                if (Directory.Exists(getPathFolder()))
                                {
                                    String vPath = getPathFolder();
                                    foreach (String vFile in Directory.GetFiles(vPath))
                                    {
                                        FileInfo f = new FileInfo(vFile);
                                        if (f.Name.Equals(pCptServ.Fournisseur + ".xml"))
                                        {
                                            f.Delete();
                                            gListComptesServ.Remove(pCptServ);
                                            IT_CompteServeur.ItemsSource = null;
                                            IT_CompteServeur.ItemsSource = gListComptesServ;
                                        }
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Répertoire des comptes serveur introuvable.");
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Veuillez sélectionner un compte de connexion dans la liste ci dessus ! ");
                    }
                }
            }
        }
示例#10
0
        /// <summary>
        /// Récupère les fournisseurs sauvegardés dans un fichier sur le disque (dossier SIMAIL dans le répertoire paramètré)
        /// </summary>
        public void getFournisseurs()
        {
            int nbFic = 0;

            if (currentCompteMessagerie.compteServDefaultDirectory != "")
            {
                if (Directory.Exists(currentCompteMessagerie.compteServDefaultDirectory))
                {
                    if (Directory.EnumerateFiles(currentCompteMessagerie.compteServDefaultDirectory).Count() > 0)
                    {
                        foreach (string vFile in Directory.EnumerateFiles(currentCompteMessagerie.compteServDefaultDirectory))
                        {
                            if (System.IO.Path.GetExtension(vFile) == ".xml")
                            {
                                nbFic = nbFic + 1;
                                CompteServeur vCs = new CompteServeur();
                                try
                                {
                                    vCs = (CompteServeur)deserializeFromXml.getData(vCs, vFile);
                                    ListeFournisseurs.Add(vCs);
                                }
                                catch (Exception e)
                                {
                                    MessageBox.Show(e.Message);
                                }
                            }
                        }
                    }
                    if (nbFic == 0)
                    {
                        MessageBox.Show("Aucune configuration de serveur présente dans " + currentCompteMessagerie.compteServDefaultDirectory + "\n\r\r\n" + "Vous pouvez ajouter un serveur de messagerie via le menu déroulant.", "SIMAIL - Information", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Répertoire des comptes serveurs introuvable sur votre disque.");
                }
            }
            else
            {
                MessageBox.Show("Répertoire des comptes serveurs introuvable sur votre disque.");
            }
        }
示例#11
0
 private void loadComptesServeur()
 {
     if (currentCompteMessagerie != null)
     {
         if (currentCompteMessagerie.isAuthenticated())
         {
             try
             {
                 if (Directory.Exists(getPathFolder()))
                 {
                     clearListe();
                     String vPath = getPathFolder();
                     foreach (string vFile in Directory.GetFiles(vPath))
                     {
                         CompteServeur cs = new CompteServeur();
                         cs = (CompteServeur)deserializeFromXml.getData(cs, vFile);
                         gListComptesServ.Add(cs);
                         if (gListComptesServ.Contains(gMsgAucunCpt))
                         {
                             gListComptesServ.Remove(gMsgAucunCpt);
                         }
                     }
                     if (gListComptesServ.Count == 0)
                     {
                         gListComptesServ.Add(gMsgAucunCpt);
                     }
                     IT_CompteServeur.ItemsSource = gListComptesServ;
                 }
                 else
                 {
                     MessageBox.Show("Répertoire des comptes serveur introuvable.");
                 }
             }
             catch (Exception e)
             {
                 MessageBox.Show(e.Message);
             }
         }
     }
 }
示例#12
0
        private void enregistrerFournisseur()
        {
            if (checkMandatoryFieldsFournisseur())
            {
                CompteServeur cs = new CompteServeur();
                cs.Fournisseur      = I_CptMessagerie_Fournisseur.Text;
                cs.methodeConnexion = (CompteServeur.MethConnexion)I_CptMessagerie_ModeCnx.SelectedItem;
                // IMAP
                cs.AdresseIMAP = I_CptMessagerie_AdresseIMAP.Text;
                cs.PortIMAP    = int.Parse(I_CptMessagerie_PortIMAP.Text);
                if (I_ChiffrementIMAPAucun.IsChecked ?? false)
                {
                    cs.ChiffrementIMAP = CompteServeur.Chiffrement.Aucun;
                }
                if (I_ChiffrementIMAPSSL.IsChecked ?? false)
                {
                    cs.ChiffrementIMAP = CompteServeur.Chiffrement.SSL;
                }
                if (I_ChiffrementIMAPTLS.IsChecked ?? false)
                {
                    cs.ChiffrementIMAP = CompteServeur.Chiffrement.TLS;
                }
                // SMTP
                cs.AdresseSMTP = I_CptMessagerie_AdresseSMTP.Text;
                cs.PortSMTP    = int.Parse(I_CptMessagerie_PortSMTP.Text);
                if (I_ChiffrementSMTPAucun.IsChecked ?? false)
                {
                    cs.ChiffrementSMTP = CompteServeur.Chiffrement.Aucun;
                }
                if (I_ChiffrementSMTPSSL.IsChecked ?? false)
                {
                    cs.ChiffrementSMTP = CompteServeur.Chiffrement.SSL;
                }
                //if (I_ChiffrementSMTPTLS.IsChecked ?? false)
                //{
                //    cs.ChiffrementSMTP = CompteServeur.Chiffrement.TLS;
                //}

                // Sauvegarde dans un fichier
                cs.saveDefaultDirectory = getPathFolder();
                cs.save();
                loadComptesServeur();

                MessageBoxResult res = MessageBox.Show("Enregistrement effectué. Un redémarrage est nécessaire. \n\n Souhaitez vous redémarrer l'application ?", Assembly.GetExecutingAssembly().GetName().Name, MessageBoxButton.YesNo);
                switch (res)
                {
                case MessageBoxResult.Yes:
                    this.Close();
                    try
                    {
                        System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
                        Application.Current.Shutdown();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                    break;
                }
            }
            else
            {
                MessageBox.Show("Veuillez renseigner les informations du serveur de messagerie correctement.");
            }
        }
示例#13
0
 private void BT_Connexion_Gmail_Click(object sender, RoutedEventArgs e)
 {
     currentCompteServeur = new CompteServeur();
     currentCompteServeur.methodeConnexion = MethConnexion.OAuth2;
     creerCompteMessagerie();
 }