示例#1
0
        /// <summary>
        /// lit le fichier , le déchiffre à partir du mot de passe fournit et le désérialize
        /// </summary>
        /// <param name="passwordTmp">le mot de passe pour tenter le déchiffrement</param>
        /// <param name="fullLoad">Indique si c'est un chargement complet ou légé</param>
        /// <returns>true si ok</returns>
        public static async Task <bool> Load(string passwordTmp, bool fullLoad)
        {
            try
            {
                //lecture
                var inFile = await Fichier.LireByteArray();

                //dechiffrement
                var xmlIn = CryptUtils.AesDecryptByteArrayToString(inFile, passwordTmp, passwordTmp);

                //deserialize
                var xsb = new XmlSerializer(typeof(Dossier));
                var rd  = new StringReader(xmlIn);
                ContexteAppli.DossierMere = xsb.Deserialize(rd) as Dossier;
                if (fullLoad)
                {
                    RemiseEnPlaceParent(ContexteAppli.DossierMere);
                    RemiseEnPlaceIcone(ContexteAppli.DossierMere);
                }
                Password = passwordTmp;

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }