Esempio n. 1
0
        /// <summary>
        /// Efface la base de donnée et charge les nouvelles données
        /// </summary>
        /// <param name="data">les données à charger</param>
        /// <returns></returns>
        public async Task LoadData(string data)
        {
            var xsb     = new XmlSerializer(typeof(SaveLoad));
            var rd      = new StringReader(data);
            var newData = xsb.Deserialize(rd) as SaveLoad;

            if (newData != null)
            {
                var oldData = await GetDataFmBdd();

                await Bdd.DropDb();

                await Bdd.CreateDb();

                try
                {
                    await SetDataFmBdd(newData);
                }
                catch (Exception)
                {
                    //en cas d'échec, restauration des données
                    await SetDataFmBdd(oldData);

                    throw;
                }
            }
        }