/// <summary> /// Ajoute ou modifie en base un échéancier en base /// </summary> /// <param name="echeancier">l'échéancier à sauvegardé (Id à zéro pour un ajout)</param> /// <returns>l'id de l'échéancier</returns> public async Task <int> SaveEcheancier(Echeancier echeancier) { if (echeancier.Id == 0) { var echeancierId = await Bdd.Connection.Table <Echeancier>().OrderByDescending(x => x.Id).FirstOrDefaultAsync(); var id = 1; if (echeancierId != null) { id = echeancierId.Id + 1; } echeancier.Id = id; echeancier.Date = new DateTime(echeancier.Date.Year, echeancier.Date.Month, echeancier.Date.Day); if (echeancier.IsDateLimite) { echeancier.DateLimite = new DateTime(echeancier.DateLimite.Year, echeancier.DateLimite.Month, echeancier.DateLimite.Day); } await Bdd.AjouterDonnee(echeancier); await RoamingEcheancierBusiness.AjouterEcheancierRoaming(echeancier); } else { await Bdd.UpdateDonnee(echeancier); await RoamingEcheancierBusiness.ModifierEcheancierRoaming(echeancier); } return(echeancier.Id); }
/// <summary> /// Supprimer un échéancier de la base de donnée /// </summary> /// <param name="idEcheancier">l'id de l'échéancier à supprimer</param> /// <returns>la task</returns> public async Task SupprimerEcheancier(int idEcheancier) { var obj = await Bdd.Connection.Table <Echeancier>().Where(x => x.Id == idEcheancier).FirstOrDefaultAsync(); await Bdd.DeleteDonnee(obj); await RoamingEcheancierBusiness.SupprimerEcheancier(obj); }
/// <summary> /// active ou désactive la synchro du roaming des catégories /// </summary> /// <returns>la task</returns> public async Task ChangeSynchroEcheancier() { await _applicationBusiness.SetRoamingEcheancierActive(IsRoamingEcheancierActive); App.IsRoamingEcheancierActive = IsRoamingEcheancierActive; if (!IsRoamingEcheancierActive) { await RoamingEcheancierBusiness.DeleteRoaming(); } else { await RoamingEcheancierBusiness.ReCreerFichierRoaming(); } }
/// <summary> /// Recalcul les infos d'espace pour le romaing /// </summary> private async Task CalculerEspaceDispo() { var espaceTotal = await RoamingUtils.GetEspaceRoamingOccupePourcent(); EspaceDispoTextBlock.Text = ResourceLoader.GetForCurrentView().GetString("EspaceDispo") + " " + espaceTotal + " %"; EspaceDispoTextBlock.Foreground = espaceTotal >= ContexteStatic.EspaceMaxAutoriseRoaming ? new SolidColorBrush(Color.FromArgb(255, 255, 0, 0)) : new SolidColorBrush(Color.FromArgb(255, 0, 0, 0)); EspaceCompteOccupe.Text = await RoamingCompteBusiness.GetEspaceFichierOccupePourcent() + " %"; EspaceMouvementOccupe.Text = await RoamingMouvementBusiness.GetEspaceFichierOccupePourcent() + " %"; EcheancierCheckBox.Content = await RoamingEcheancierBusiness.GetEspaceFichierOccupePourcent() + " %"; CategorieCheckBox.Content = await RoamingCategorieBusiness.GetEspaceFichierOccupePourcent() + " %"; }
/// <summary> /// Efface toute les données devant être restauré /// </summary> /// <returns>la task</returns> public async Task DeleteForRestauration() { await Bdd.Connection.DropTableAsync <Banque>(); await Bdd.Connection.DropTableAsync <Compte>(); await Bdd.Connection.DropTableAsync <Echeancier>(); await Bdd.Connection.DropTableAsync <Mouvement>(); await Bdd.Connection.DropTableAsync <Categorie>(); await Bdd.Connection.DropTableAsync <SousCategorie>(); await Bdd.Connection.DropTableAsync <SoldeInitial>(); await Bdd.Connection.CreateTableAsync <Banque>(); await Bdd.Connection.CreateTableAsync <Compte>(); await Bdd.Connection.CreateTableAsync <Echeancier>(); await Bdd.Connection.CreateTableAsync <Mouvement>(); await Bdd.Connection.CreateTableAsync <Categorie>(); await Bdd.Connection.CreateTableAsync <SousCategorie>(); await Bdd.Connection.CreateTableAsync <SoldeInitial>(); await RoamingCategorieBusiness.DeleteRoaming(); await RoamingCompteBusiness.DeleteRoaming(); await RoamingEcheancierBusiness.DeleteRoaming(); await RoamingMouvementBusiness.DeleteRoaming(); }
/// <summary> /// Créer la base de donnée à partir des données présentes dans le fihier Roaming /// </summary> /// <returns>las task</returns> public async Task CreerBaseDeDonneeFromRoaming(AppareilEnum appareil) { //creer la base await CreerBase(appareil); if (appareil == AppareilEnum.ModeAppareilPrincipal) { //ajout des banques et des comptes var listeBanques = await RoamingCompteBusiness.GetListeBanques(); foreach (var banque in listeBanques) { // ajout de la banque var banqueId = await Bdd.Connection.Table <Banque>().OrderByDescending(x => x.Id).FirstOrDefaultAsync(); var idbanque = 1; if (banqueId != null) { idbanque = banqueId.Id + 1; } banque.Id = idbanque; await Bdd.AjouterDonnee(banque); //ajout des comtpes foreach (var compte in banque.ListeCompte) { var compteId = await Bdd.Connection.Table <Compte>().OrderByDescending(x => x.Id).FirstOrDefaultAsync(); var id = 1; if (compteId != null) { id = compteId.Id + 1; } compte.Id = id; compte.IdBanque = banque.Id; await Bdd.AjouterDonnee(compte); } } //Ajout des échéanciers var listeEcheancier = await RoamingEcheancierBusiness.GetAllEcheancier(); foreach (var echeancier in listeEcheancier) { await Bdd.AjouterDonnee(echeancier); } //ajout des catégories perso var listeCategorie = await RoamingCategorieBusiness.GetCategorieRoaming(); foreach (var category in listeCategorie) { await Bdd.AjouterDonnee(category); } var listeSousCategorie = await RoamingCategorieBusiness.GetSousCategorieRoaming(); foreach (var sousCategory in listeSousCategorie) { await Bdd.AjouterDonnee(sousCategory); } } }
/// <summary> /// Ajoute une échéancier provenant de l'outil de restauration /// </summary> /// <param name="echeancier"> l'échéancier à ajouter</param> /// <returns>la task</returns> public async Task AjouterEcheancierFmRestauration(Echeancier echeancier) { await Bdd.AjouterDonnee(echeancier); await RoamingEcheancierBusiness.AjouterEcheancierRoaming(echeancier); }