示例#1
0
        /// <summary>
        /// Créer les élements de bases de la base de donnée
        /// </summary>
        /// <param name="appareil">le mode de l'appareil contenant l'appli</param>
        /// <returns>true si ok</returns>
        public async Task <bool> CreerBase(AppareilEnum appareil)
        {
            await Bdd.CreateDb();

            switch (appareil)
            {
            case AppareilEnum.ModeAppareilPrincipal:
                var res = await Bdd.Connection.Table <Application>().Where(x => x.Id == 1).FirstOrDefaultAsync();

                res.ModeAppareil              = (int)AppareilEnum.ModeAppareilPrincipal;
                res.IdBackGround              = 0;
                res.IdLangue                  = ListeLangues.GetLangueEnCours().diminutif;
                res.DateDernierDemarrage      = DateUtils.GetMaintenant();
                res.IsSynchroCategorieActive  = true;
                res.IsSynchroEcheancierActive = true;
                await Bdd.UpdateDonnee(res);

                break;

            case AppareilEnum.ModeAppareilSecondaire:
                var resb = await Bdd.Connection.Table <Application>().Where(x => x.Id == 1).FirstOrDefaultAsync();

                resb.ModeAppareil              = (int)AppareilEnum.ModeAppareilSecondaire;
                resb.IdBackGround              = 0;
                resb.IdLangue                  = ListeLangues.GetLangueEnCours().diminutif;
                resb.DateDernierDemarrage      = DateUtils.GetMaintenant();
                resb.IsSynchroCategorieActive  = true;
                resb.IsSynchroEcheancierActive = true;
                await Bdd.UpdateDonnee(resb);

                break;
            }

            return(false);
        }
示例#2
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;
                }
            }
        }