示例#1
0
        /// <summary>
        /// Supprime une sous catégorie
        /// </summary>
        /// <returns>la task</returns>
        public async Task SuppressionSousCategorie()
        {
            await _categorieBusiness.DeleteSousCategorie(SelectedSousCategorie.Id);

            await ContexteAppli.GenerateCategorieMouvement();

            GenererListeCategories();
        }
示例#2
0
        /// <summary>
        /// Change la langue de l'application
        /// </summary>
        /// <param name="langue">la nouvelle langue</param>
        public async Task ChangeLangueApplication(ListeLangues.LanguesStruct langue)
        {
            Strings.ListeLangues.ChangeLangueAppli(langue);
            await _applicationBusiness.ChangeIdLangue(langue);

            DeviseUtils.GeneratePays();
            DeviseUtils.GenerateDevise();
            await ContexteAppli.GenerateCategorieMouvement();
        }
示例#3
0
        /// <summary>
        /// Charge les données de l'application et ouvre le shell
        /// </summary>
        public static async void OpenShell()
        {
            //Chargement des données
            var applicationBusiness = new ApplicationBusiness();
            await applicationBusiness.Initialization;

            //mise en place de la configuration
            await applicationBusiness.CheckVersion();

            ModeApp = await applicationBusiness.GetModeAppli();

            IsRoamingCategorieActive = await applicationBusiness.GetRoamingCategorieActive();

            IsRoamingEcheancierActive = await applicationBusiness.GetRoamingEcheancierActive();

            IdCouleurBackground = await applicationBusiness.GetIdCouleurBackGround();

            var idLangue = await applicationBusiness.GetLangueAppli();

            if (!string.IsNullOrWhiteSpace(idLangue))
            {
                ListeLangues.ChangeLangueAppli(idLangue);
            }

            //génère les catégories
            await ContexteAppli.GenerateCategorieMouvement();

            //a n'éxécuter que s'il s'agit de l'appareil principal
            if (ModeApp == AppareilEnum.ModeAppareilPrincipal)
            {
                //charge les mouvements donné par les appareils secondaires
                await ContexteAppli.ChargerMouvementRoaming();

                //controle les échéanciers
                await ContexteAppli.ControleEcheancier();
            }


            //sauvegarde den tant que dernier démarrage
            await applicationBusiness.SetDateDernierDemarrage();

            //Chargement de la page principale puis de sa frame
            var rootFrame = Window.Current.Content as Frame;

            rootFrame = new Frame();
            Window.Current.Content = rootFrame;
            rootFrame.Navigate(typeof(Shell));
            AppShell = rootFrame.Content as Shell;
            AppShell.NavigateFrame(typeof(AcceuilView));
        }
示例#4
0
        public async void Current_DataChanged(ApplicationData sender, object args)
        {
            try
            {
                if (AppShell != null)
                {
                    await ContexteAppli.ChargerMouvementRoaming();

                    await ContexteAppli.GenerateCategorieMouvement();
                }
            }
            catch (Exception)
            {
            }
        }
示例#5
0
        /// <summary>
        /// Sauvegarde la modification ou l'ajout de la donnée
        /// </summary>
        /// <returns>les erreurs sinon une chaine vide</returns>
        public async Task <string> Save()
        {
            var retour = Validate();

            if (string.IsNullOrWhiteSpace(retour))
            {
                LibelleSelected = StringUtils.FirstLetterUpper(LibelleSelected);
                switch (ModeOuverture)
                {
                case ModeOuvertureGestionCategorieEnum.OuvertureAjouterCategorie:
                    await _categorieBusiness.AddCategorie(LibelleSelected);

                    break;

                case ModeOuvertureGestionCategorieEnum.OuvertureAjouterSousCategorie:
                    await
                    _categorieBusiness.AddSousCategorie(LibelleSelected, SelectedCategorie.Id,
                                                        SelectedCategorie.IsCategPerso);

                    break;

                case ModeOuvertureGestionCategorieEnum.OuvertureModifierCategorie:
                    SelectedCategorie.Libelle = LibelleSelected;
                    await _categorieBusiness.ModifierCategorie(SelectedCategorie);

                    break;

                case ModeOuvertureGestionCategorieEnum.OuvertureModifierSousCategorie:
                    SelectedSousCategorie.Libelle = LibelleSelected;
                    await _categorieBusiness.ModifierSousCategorie(SelectedSousCategorie);

                    break;
                }
                await ContexteAppli.GenerateCategorieMouvement();

                GenererListeCategories();
                AnnulerModifAjout();
            }

            return(retour);
        }
示例#6
0
        /// <summary>
        /// importe les données
        /// </summary>
        /// <returns>true si ok</returns>
        public async Task <bool> Restauration()
        {
            try
            {
                //deserialization
                string xml;
                if (IsMdp)
                {
                    var buffer = await FileIO.ReadBufferAsync(Fichier);

                    byte[] inFile = buffer.ToArray();
                    xml = CryptUtils.AesDecryptByteArrayToString(inFile, MotDePasse, MotDePasse);
                }
                else
                {
                    xml = await FileIO.ReadTextAsync(Fichier, Windows.Storage.Streams.UnicodeEncoding.Utf8);
                }
                var xsb          = new XmlSerializer(typeof(SauvegardeModel));
                var rd           = new StringReader(xml);
                var resultImport = xsb.Deserialize(rd) as SauvegardeModel;

                //effacement des données
                await _applicationBusiness.DeleteForRestauration();

                //restauration
                //appli
                await _applicationBusiness.ChangeIdCouleurBackground(resultImport.Application.IdBackGround);

                await _applicationBusiness.ChangeIdLangue(ListeLangues.GetLangueById(resultImport.Application.IdLangue));

                ListeLangues.ChangeLangueAppli(resultImport.Application.IdLangue);

                //banque et compte
                foreach (var banque in resultImport.ListeBanque)
                {
                    await _banqueBusiness.AjouterBanqueFmRestauration(banque);

                    foreach (var compte in banque.ListeCompte)
                    {
                        await _compteBusiness.AjouterCompteFmRestauration(compte);
                    }
                }

                //solde init
                foreach (var soldeInitial in resultImport.ListeSoldeInit)
                {
                    await _compteBusiness.AjouterSoldeInitialFmRestauration(soldeInitial);
                }

                //categorie
                foreach (var category in resultImport.ListeCategorie)
                {
                    await _categorieBusiness.AjouterCategorieFmRestauration(category);
                }

                //sous categorie
                foreach (var sousCategory in resultImport.ListeSousCategorie)
                {
                    await _categorieBusiness.AjouterSousCategorieFmRestauration(sousCategory);
                }

                //échéancier
                foreach (var echeancier in resultImport.ListeEcheancier)
                {
                    await _echeancierBusiness.AjouterEcheancierFmRestauration(echeancier);
                }

                //mouvement
                foreach (var mouvement in resultImport.ListeMouvement)
                {
                    await _mouvementBusiness.AjouterMouvementFmRestauration(mouvement);
                }

                //regénère les catégories
                await ContexteAppli.GenerateCategorieMouvement();
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }