/// <summary> /// Sauvegarde dans le fichier les modifications apportés un mot de passe, ou l'ajout de ce dernier /// </summary> /// <returns>les erreurs éventuellements générés</returns> public async Task <string> Save() { var retour = Validate(); //si aucune erreur if (string.IsNullOrWhiteSpace(retour)) { //en cas d'ajout du mot de passe if (Action.Equals(ActionMotDePasseEnum.Ajouter)) { var mdp = new MotDePasse { Titre = Titre, Login = Login, MotDePasseObjet = Password, SiteWeb = Site, Commentaire = Commentaire, DossierPossesseur = DossierPossesseur, IdIcone = SelectedIcone }; var res = ContexteAppli.ListeIcone.Where(x => (int)x.Tag == SelectedIcone).ToList(); if (res.Count > 0) { mdp.Icone = (BitmapImage)res[0].Source; } else { mdp.Icone = null; } DossierPossesseur.ListeMotDePasse.Add(mdp); } //en cas de modification placement des nouvelles informations if (Action.Equals(ActionMotDePasseEnum.Modifier)) { PasswordOriginal.Titre = Titre; PasswordOriginal.Login = Login; PasswordOriginal.MotDePasseObjet = Password; PasswordOriginal.IdIcone = SelectedIcone; PasswordOriginal.Commentaire = Commentaire; PasswordOriginal.SiteWeb = Site; var res = ContexteAppli.ListeIcone.Where(x => (int)x.Tag == PasswordOriginal.IdIcone).ToList(); if (res.Count > 0) { PasswordOriginal.Icone = (BitmapImage)res[0].Source; } else { PasswordOriginal.Icone = null; } } //sauvegarde await PasswordBusiness.Save(); //mise à jour de la liste de cortana await CortanaBusiness.UpdateCortana(); } return(retour); }
/// <summary> /// Récupère les données d'un fichier CSV /// </summary> /// <returns>La liste des erreurs</returns> public async Task <string> ImporterCsv() { var retour = Validate(); if (string.IsNullOrWhiteSpace(retour)) { //ComFile fichierImport = new ComFile(fichier); var fichierImport = await FileIO.ReadTextAsync(Fichier, Windows.Storage.Streams.UnicodeEncoding.Utf8); var listeMotDePasse = StringUtils.Split(fichierImport, CsvRetourLigne); foreach (var data in listeMotDePasse) { var dataTmp = data; if (!string.IsNullOrWhiteSpace(dataTmp)) { dataTmp = dataTmp.Remove(0, 1); dataTmp = dataTmp.Remove(dataTmp.Length - 1, 1); var listeData = StringUtils.Split(dataTmp, CsvCaractereFinChaine + CsvCaractereSeparateur + CsvCaractereFinChaine); var motTmp = new MotDePasse(listeData[0], listeData[1], listeData[2], SelectedDossier, listeData[3], 0, (listeData.Count <= 4)?"":listeData[4]); SelectedDossier.ListeMotDePasse.Add(motTmp); } } RemiseEnPlaceIcone(SelectedDossier); } return(retour); }
public void TestMotDePasse_unMotDePassePeutEtreDéchiffré() { string motDePasseDéchiffré = "p0uEtPou3t!:"; MotDePasse motDePasse = new MotDePasse(motDePasseDéchiffré); ; Assert.AreNotEqual(motDePasseDéchiffré, motDePasse.ToString()); Assert.AreEqual(motDePasseDéchiffré, motDePasse.déchiffrer()); }
/// <summary> /// Méthode appelée quand on clique sur le bouton Se connecter /// </summary> private void Login_Click(object sender, RoutedEventArgs e) { var win = (Application.Current.MainWindow as MetroWindow); string pseudo = Pseudo.Text, mdp = MotDePasse.Password; if (string.IsNullOrWhiteSpace(pseudo) || string.IsNullOrWhiteSpace(mdp)) { win.ShowMessageAsync("Erreur lors de l'authentification", "Merci de renseigner toutes les informations :@"); return; } // Retourne l'utilisateur contenue dans la BDD, null sinon var user = StockageBDD.CheckUser(pseudo, mdp); if (user != null) { user.Login(); UserChangedEvent.Instance.User = user; win.ShowMessageAsync("Authentification réussie", "Ouiiiiiiiiiiii !"); } else { MotDePasse.Clear(); win.ShowMessageAsync("Erreur lors de l'authentification", "Mot de passe incorrect :("); } }
/// <summary> /// constructeur /// </summary> /// <param name="password">le mot de passe à afficher</param> public AfficherPasswordViewModel(MotDePasse password) { Password = password; PasswordReveal = false; IsCommentAffich(); IsSiteAffich(); }
public void TestCreerMotDePasse() { MotDePasse mdp = new MotDePasse("coucou"); Assert.AreEqual(8, mdp.Mot.Length); Assert.IsTrue(mdp.Verifie()); }
static void Main(string[] args) { Collection listeLiens = new Collection();; listeLiens.Ajouter(new Lien("Hacker News", "https://news.ycombinator.com")); listeLiens.Ajouter(new Lien("Reddit", "https://reddit.com")); listeLiens.Ajouter(new Lien("Boing Boing", "boingboing.net")); string choix = ""; while (choix != "3") { string choixPossibles = "\n0 : Lister les liens"; choixPossibles += "\n1 : Ajouter un lien"; choixPossibles += "\n2 : Enlever un lien"; choixPossibles += "\n3 : Quitter"; Console.WriteLine("Choisissez une action : " + choixPossibles); choix = Console.ReadLine(); switch (choix) { case "0": if (listeLiens.Compte > 0) { for (int i = 0; i < listeLiens.Compte; i++) { Console.WriteLine((i + 1) + " : " + listeLiens.Get(i)); } } else { Console.WriteLine("Aucun lien à afficher !"); } break; case "1": Console.WriteLine("Titre du lien : "); string titre = Console.ReadLine(); Console.WriteLine("Url du lien : "); string url = Console.ReadLine(); listeLiens.Ajouter(new Lien(titre, url)); break; case "2": Console.WriteLine("Quel lien supprimer (numéro) ? "); listeLiens.Enlever(int.Parse(Console.ReadLine()) - 1); break; } Console.WriteLine(); } Console.WriteLine("Mot de passe : "); MotDePasse mdp = new MotDePasse(Console.ReadLine()); Console.WriteLine(mdp._mot); Console.WriteLine("Au revoir !"); Console.ReadKey(); }
/// <summary> /// Supprime un mot de passe de la liste des mots de passe sélectionné et le supprime de la chaine de caractères à afficher /// </summary> /// <param name="mdp">le mot de passe à supprimer</param> public void SupprimerMotDePasse(MotDePasse mdp) { if (mdp != null) { ListeMotDePasseSelected.Remove(mdp); GenererChaineMotDePasse(); } }
/// <summary> /// Ajoute un mot de passe à la liste des mots de passe sélectionné et l'ajoute à la chaine de caractères à afficher /// </summary> /// <param name="mdp">le mot de passe à ajouter</param> public void AjouterMotDePasse(MotDePasse mdp) { if (mdp != null) { ListeMotDePasseSelected.Add(mdp); GenererChaineMotDePasse(); } }
public void TestCompleter() { MotDePasse mdp = new MotDePasse("wiki5"); MotDePasse mdp1 = new MotDePasse(" "); MotDePasse mdp2 = new MotDePasse("wiki9edia"); MotDePasse mdp3 = new MotDePasse("wikipedia"); MotDePasse mdp4 = new MotDePasse("wikiped1"); Assert.AreEqual(mdp.Verifier(mdp._mot), true); Assert.AreEqual(mdp1.Verifier(mdp1._mot), true); Assert.AreEqual(mdp2.Verifier(mdp2._mot), true); Assert.AreEqual(mdp3.Verifier(mdp3._mot), true); Assert.AreEqual(mdp4.Verifier(mdp4._mot), true); }
/// <summary> /// constructeur pour la modification d'un mot de passe /// </summary> /// <param name="password">le mot de passe à modifier</param> public EditPasswordViewModel(MotDePasse password) { ListeIcone = new ObservableCollection <Image>(ContexteAppli.ListeIcone); DossierPossesseur = password.DossierPossesseur; Titre = password.Titre; Login = password.Login; Password = password.MotDePasseObjet; Site = password.SiteWeb; Commentaire = password.Commentaire; SelectedIcone = password.IdIcone; PasswordOriginal = password; Action = ActionMotDePasseEnum.Modifier; }
public void TestVerifier() { MotDePasse mdp = new MotDePasse(""); string mot = "wiki5"; string mot1 = " "; string mot2 = "wiki9edia"; string mot3 = "wikipedia"; string mot4 = "wikiped1"; Assert.AreEqual(mdp.Verifier(mot), false); Assert.AreEqual(mdp.Verifier(mot1), false); Assert.AreEqual(mdp.Verifier(mot2), true); Assert.AreEqual(mdp.Verifier(mot3), false); Assert.AreEqual(mdp.Verifier(mot4), true); }
/// <summary> /// Méthode appelée quand on clique sur le bouton inscription /// </summary> private void Registration_Click(object sender, RoutedEventArgs e) { string pseudo = Pseudo.Text, nom = Nom.Text, prenom = Prenom.Text, mdp = MotDePasse.Password; var win = (Application.Current.MainWindow as MetroWindow); if (string.IsNullOrEmpty(pseudo) || string.IsNullOrEmpty(nom) || string.IsNullOrEmpty(prenom) || string.IsNullOrEmpty(mdp)) { win.ShowMessageAsync("Erreur lors de l'inscription", "Merci de renseigner tout les champs :@"); MotDePasse.Clear(); return; } if (mdp.Length < 3) { win.ShowMessageAsync("Erreur lors de l'inscription", "Votre mot de passe doit faire plus de 3 caractères :("); return; } if (StockageBDD.CheckIfUserExists(pseudo)) { win.ShowMessageAsync("Erreur lors de l'inscription", "Un utilisateur avec ce pseudo existe déjà"); MotDePasse.Clear(); Pseudo.Clear(); return; } Utilisateur user = new Utilisateur(pseudo, nom, prenom, mdp); int insert = StockageBDD.Insert <Utilisateur>(user); if (insert < 0) { win.ShowMessageAsync("Erreur critique", "Impossible de vous inscrire, merci de contacter un administrateur"); return; } UserChangedEvent.Instance.User = user; Switch(new FilmView(), false); }
public void TestMotDePasse_unMotDePassePasAssezComplexeEstInvalide() { MotDePasse motDePasse = new MotDePasse("admin123"); Assert.IsFalse(motDePasse.estValide()); Assert.AreEqual(VALIDATION.COMPLEXITE_MOT_DE_PASSE, motDePasse.donnerLErreur()); }
public void TestMotDePasse_unMotDePasseTropLongEstInvalide() { MotDePasse motDePasse = new MotDePasse(TEST.CHAINEx257); Assert.IsFalse(motDePasse.estValide()); Assert.AreEqual(VALIDATION.LONGUEUR_MOT_DE_PASSE, motDePasse.donnerLErreur()); }
public void TestMotDePasse_unMotDePasseVideEstInvalide() { MotDePasse motDePasse = new MotDePasse(null); Assert.IsFalse(motDePasse.estValide()); Assert.AreEqual(VALIDATION.REQUIS_MOT_DE_PASSE, motDePasse.donnerLErreur()); }
private void MotDePasse_MouseClick(object sender, MouseEventArgs e) { MotDePasse.SelectAll(); }