/// <summary> /// Exporte le fichier chiffré directement /// </summary> /// <returns>la liste des erreurs</returns> public async Task <string> ExporterKwi() { var retour = Validate(); if (string.IsNullOrWhiteSpace(retour)) { if (!StringUtils.GetExtension(Fichier.Name).Equals(FormatChoisi.Format)) { await Fichier.RenameAsync(Fichier.Name + "." + FormatChoisi.Format); } var xs = new XmlSerializer(typeof(Dossier)); using (var wr = new StringWriter()) { xs.Serialize(wr, SelectedDossier); var dataToSave = CryptUtils.AesEncryptStringToByteArray(wr.ToString(), MdpCypher, MdpCypher); await FileIO.WriteBytesAsync(Fichier, dataToSave); //anciennement pour exporter tout le fichier //await FileIO.WriteTextAsync(fichier, wr.ToString(), Windows.Storage.Streams.UnicodeEncoding.Utf8); } //await FileIO.WriteBytesAsync(fichier, await ContexteAppli.fichierPassword.lireByteArray()); } return(retour); }
/// <summary> /// exporte en format CSV les mots de passe d'un dossier et de ses sous dossiers /// </summary> /// <returns>Retourne la liste des erreurs</returns> public async Task <string> ExporterCsv() { var retour = Validate(); if (string.IsNullOrWhiteSpace(retour)) { if (!StringUtils.GetExtension(Fichier.Name).Equals(FormatChoisi.Format)) { await Fichier.RenameAsync(Fichier.Name + "." + FormatChoisi.Format); } var chaine = new StringBuilder(); var listeMotDePasse = getAllMotDePasse(SelectedDossier); foreach (var mot in listeMotDePasse) { chaine.Append(CsvCaractereFinChaine + mot.Titre + CsvCaractereFinChaine + CsvCaractereSeparateur); chaine.Append(CsvCaractereFinChaine + mot.Login + CsvCaractereFinChaine + CsvCaractereSeparateur); chaine.Append(CsvCaractereFinChaine + mot.MotDePasseObjet + CsvCaractereFinChaine + CsvCaractereSeparateur); chaine.Append(CsvCaractereFinChaine + mot.Commentaire + CsvCaractereFinChaine + CsvCaractereSeparateur); chaine.Append(CsvCaractereFinChaine + mot.SiteWeb + CsvCaractereFinChaine); chaine.Append(CsvRetourLigne); } await FileIO.WriteTextAsync(Fichier, chaine.ToString(), Windows.Storage.Streams.UnicodeEncoding.Utf8); } return(retour); }
/// <summary> /// Exporte en format xml le dossier avec le système de sérialization /// </summary> /// <returns>la liste des éventuelles erreurs</returns> public async Task <string> ExporterXml() { var retour = Validate(); if (string.IsNullOrWhiteSpace(retour)) { if (!StringUtils.GetExtension(Fichier.Name).Equals(FormatChoisi.Format)) { await Fichier.RenameAsync(Fichier.Name + "." + FormatChoisi.Format); } var xs = new XmlSerializer(typeof(Dossier)); using (var wr = new StringWriter()) { xs.Serialize(wr, SelectedDossier); await FileIO.WriteTextAsync(Fichier, wr.ToString(), Windows.Storage.Streams.UnicodeEncoding.Utf8); } } return(retour); }