/// <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); }
/// <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; } } }