Beispiel #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);
        }
Beispiel #2
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            ViewModel = new ParametresViewModel();
            await ViewModel.InitializeAsync();

            TitreGrid.Background = App.AppShell.GetCouleur();

            if (App.ModeApp == AppareilEnum.ModeAppareilSecondaire)
            {
                GestionRoaming.Visibility = Visibility.Collapsed;
            }

            //mise en place des langues
            ComboListeLangue.ItemsSource  = ViewModel.ListeLangues;
            ComboListeLangue.SelectedItem = ListeLangues.GetLangueEnCours();

            //mise en place des couleurs
            ListeColorGridView.ItemsSource = ViewModel.ListeCouleurs;

            //Calcul pour le roaming
            await CalculerEspaceDispo();

            CategorieCheckBox.IsChecked  = ViewModel.IsRoamingCategorieActive;
            EcheancierCheckBox.IsChecked = ViewModel.IsRoamingEcheancierActive;
        }
Beispiel #3
0
        /// <summary>
        /// charge le fichier de paramètre si il existe
        /// </summary>
        public static async Task Load(bool fullLoad)
        {
            //lecture
            if (_fichier != null && await _fichier.FileExist())
            {
                var inFile = await _fichier.LireString();

                var xsb   = new XmlSerializer(typeof(Param));
                var rd    = new StringReader(inFile);
                var param = xsb.Deserialize(rd) as Param;
                if (param != null)
                {
                    if (fullLoad)
                    {
                        ContexteAppli.IdCouleurTheme = param.EmplacementListeCouleur < ContexteStatic.ListeCouleur.Count
                            ? param.EmplacementListeCouleur
                            : ContexteStatic.ListeCouleur.IndexOf(0xFF00613F);
                        ListeLangues.ChangeLangueAppli(param.IdLangue);
                    }
                    ContexteAppli.IsCortanaActive = param.IsCortanaActive;
                }
                else
                {
                    ContexteAppli.IdCouleurTheme  = ContexteStatic.ListeCouleur.IndexOf(0xFF00613F);
                    ContexteAppli.IsCortanaActive = false;
                }
            }
            else
            {
                ContexteAppli.IdCouleurTheme  = ContexteStatic.ListeCouleur.IndexOf(0xFF00613F);
                ContexteAppli.IsCortanaActive = false;
            }
        }
Beispiel #4
0
 private void comboListeLangue_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (ComboListeLangue.SelectedItem is ListeLangues.LanguesStruct)
     {
         ListeLangues.ChangeLangueAppli((ListeLangues.LanguesStruct)ComboListeLangue.SelectedItem);
         AvertissementTextBlock.Visibility = Visibility.Visible;
     }
 }
Beispiel #5
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            _listeLangues = new ObservableCollection <ListeLangues.LanguesStruct>(ListeLangues.GetListesLangues());
            ComboListeLangue.ItemsSource  = _listeLangues;
            ComboListeLangue.SelectedItem = ListeLangues.GetLangueEnCours();
        }
Beispiel #6
0
 //change la langue de l'appli à partir de la comboBox
 private void comboListeLangue_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (_canChangeLangue && ComboListeLangue.SelectedItem is ListeLangues.LanguesStruct)
     {
         _canChangeLangue = false;
         SelectedLangue   = (ListeLangues.LanguesStruct)ComboListeLangue.SelectedItem;
         ListeLangues.ChangeLangueAppli(SelectedLangue);
         _canChangeLangue = true;
     }
 }
Beispiel #7
0
        /// <summary>
        /// va récupérer toute les informations des paramètres de l'appli à sauvegarder, puis sauvegarde dans un fichier
        /// </summary>
        public static async Task Save()
        {
            //serialization
            var param = new Param(ListeLangues.GetLangueEnCours().Id, ContexteAppli.IdCouleurTheme, ContexteAppli.IsCortanaActive);
            var xs    = new XmlSerializer(typeof(Param));
            var wr    = new StringWriter();

            xs.Serialize(wr, param);
            //ecriture
            await _fichier.Ecrire(wr.ToString(), CreationCollisionOption.ReplaceExisting, true);
        }
Beispiel #8
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            ViewModel = new ParametreViewModel();
            await ViewModel.Initialization;

            //mise en place des langues
            ComboListeLangue.ItemsSource  = ViewModel.ListeLangues;
            ComboListeLangue.SelectedItem = ListeLangues.GetLangueEnCours();
        }
Beispiel #9
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));
        }
Beispiel #10
0
        /// <summary>
        /// Constructeur
        /// </summary>
        public ParamsViewModel()
        {
            _isPageStarting = true;
            ListeLangue     = new ObservableCollection <ListeLangues.LanguesStruct>(ListeLangues.GetListesLangues());
            SelectedLangue  = ListeLangues.GetLangueEnCours();
            CortanaActive   = ContexteAppli.IsCortanaActive;

            ListeCouleur = new ObservableCollection <SolidColorBrush>();
            foreach (var couleur in ContexteStatic.ListeCouleur)
            {
                ListeCouleur.Add(GetColor(couleur));
            }
            _isPageStarting = false;
        }
Beispiel #11
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            AppNomAppTextBlock.Text = ContextStatic.NomAppli;
            Background = App.ListTimer.GetBackGroundColor();

            TempsRepeatTextBox.Text = App.ListTimer.MinuteRepeatToast.ToString();
            NbRepeatTextBox.Text    = App.ListTimer.NbRepeatToast.ToString();

            ListeLangue = new ObservableCollection <ListeLangues.LanguesStruct>(ListeLangues.GetListesLangues());

            //init du tableau de couleurs
            var listeCouleur = new ObservableCollection <SolidColorBrush>();

            foreach (var couleur in ContextStatic.ListeCouleur)
            {
                listeCouleur.Add(GetColor(couleur));
            }
            ListeColorGridView.ItemsSource = listeCouleur;
            _canChangeLangue = true;
        }
Beispiel #12
0
        /// <summary>
        /// Installe les commandes vocales de cortana ou met à jour le la liste des sites pour la recherche de mots de passe
        /// </summary>
        /// <returns>true si ça à bien focntionné</returns>
        public static async Task <bool> UpdateCortana()
        {
            if (ContexteAppli.IsFichierRoamingOuvert)
            {
                try
                {
                    //récupère tout les site dispo
                    if (ContexteAppli.DossierMere != null)
                    {
                        var liste = ChercherIdentifiants(ContexteAppli.DossierMere);

                        //installe les fichiers
                        var vcdfile = await Package.Current.InstalledLocation.GetFileAsync(@"VoiceCommands.xml");

                        await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(vcdfile);

                        //installe les titres d'identifiants au sein de cortana
                        VoiceCommandDefinition command;



                        if (VoiceCommandDefinitionManager.InstalledCommandDefinitions.TryGetValue(
                                "SimplyPassword_CommandSet_" + ListeLangues.GetLangueEnCours().Diminutif, out command))
                        {
                            await command.SetPhraseListAsync("site", liste);
                        }

                        return(true);
                    }
                    return(false);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            return(true);
        }
Beispiel #13
0
        /// <summary>
        /// charge à partir du fichier la liste des mots à utilsier
        /// </summary>
        /// <returns></returns>
        public async Task ChargeListeMots()
        {
            var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Rsc\mots\listeb" + ListeLangues.GetLangueEnCours().Diminutif + ".txt");

            if (Difficulte.Equals(DifficulteEnum.FACILE))
            {
                _listeMots = (await FileIO.ReadLinesAsync(file)).Where(x => x.Length <= 8 && x.Length >= 5).ToList();
            }

            if (Difficulte.Equals(DifficulteEnum.MOYEN))
            {
                _listeMots = (await FileIO.ReadLinesAsync(file)).Where(x => x.Length <= 13 && x.Length >= 5).ToList();
            }

            if (Difficulte.Equals(DifficulteEnum.DIFFICILE))
            {
                _listeMots = (await FileIO.ReadLinesAsync(file)).Where(x => x.Length <= 20 && x.Length >= 10).ToList();
            }
            StartChrono();
        }
Beispiel #14
0
 private void SelectLangueCombo()
 {
     SelectedLangue = ListeLangues.GetLangueEnCours();
     ComboListeLangue.SelectedIndex = SelectedLangue.Id - 1;
 }
Beispiel #15
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);
        }
Beispiel #16
0
        /// <summary>
        /// trouve une liste de mots aléatoire à afficher
        /// </summary>
        public async Task GenererMots()
        {
            //ouverture du fichier et récupération des mots
            var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Rsc\mots\liste" + ListeLangues.GetLangueEnCours().Diminutif + ".txt");

            var listeMots = (await FileIO.ReadLinesAsync(file)).Where(x => x.Length <= 7 && x.Length >= 4).ToList();
            var nbMots    = 0;

            if (Difficulte.Equals(DifficulteEnum.FACILE))
            {
                nbMots = 15;
            }
            else if (Difficulte.Equals(DifficulteEnum.MOYEN))
            {
                nbMots = 21;
            }
            else
            {
                nbMots = 30;
            }

            //sélection de 30 aléatoire
            var increment = 0;

            do
            {
                string motTmp;
                do
                {
                    var nb = _random.Next(listeMots.Count);
                    motTmp = listeMots[nb];
                } while (MotsAleatoire.Contains(motTmp));
                MotsAleatoire.Add(motTmp);
                increment++;
            } while (increment < nbMots);

            //pour comparer plus vite les mots formatter on les stocks simplifier
            foreach (var mot in MotsAleatoire)
            {
                _motsAleatoireFormater.Add(StringUtils.SupprimerCaracSpeciaux(mot.ToLower()));
            }
        }
Beispiel #17
0
        /// <summary>
        /// Construit le lien pour interroger le site de film
        /// </summary>
        /// <param name="requete">le type de demande à faire au site</param>
        /// <param name="query">le paramètre de recherche</param>
        /// <param name="page">indique la page de consultation, si non utile 0</param>
        /// <returns>le lien pour le json</returns>
        private string ConstructeurLien(MovieDbRequeteEnum requete, string query, int page)
        {
            var linkBase = "https://api.themoviedb.org/3";

            //emplacement de la requete
            switch (requete)
            {
            case MovieDbRequeteEnum.SEARCHMOVIE:
                linkBase += "/search/movie";
                break;

            case MovieDbRequeteEnum.GETMOVIE:
                linkBase += "/movie/" + query;
                break;

            case MovieDbRequeteEnum.DEMANDEAFFICHEMOVIE:
                linkBase += "/movie/" + query + "/images";
                break;

            case MovieDbRequeteEnum.DEMANDECASTINGMOVIE:
                linkBase += "/movie/" + query + "/credits";
                break;

            case MovieDbRequeteEnum.DEMANDESIMILARFILM:
                linkBase += "/movie/" + query + "/similar";
                break;


            case MovieDbRequeteEnum.SEARCHTV:
                linkBase += "/search/tv";
                break;

            case MovieDbRequeteEnum.GETTV:
                linkBase += "/tv/" + query;
                break;

            case MovieDbRequeteEnum.DEMANDEAFFICHETV:
                linkBase += "/tv/" + query + "/images";
                break;

            case MovieDbRequeteEnum.DEMANDECASTINGTV:
                linkBase += "/tv/" + query + "/credits";
                break;

            case MovieDbRequeteEnum.DEMANDESIMILARTV:
                linkBase += "/tv/" + query + "/similar";
                break;

            case MovieDbRequeteEnum.TVSAISON:
                linkBase += "/tv/" + query;
                break;

            case MovieDbRequeteEnum.RECHERCHEGENERALE:
                linkBase += "/search/multi";
                break;

            case MovieDbRequeteEnum.GETPERSON:
                linkBase += "/person/" + query;
                break;

            case MovieDbRequeteEnum.GETPERSONCREDIT:
                linkBase += "/person/" + query + "/combined_credits";
                break;

            case MovieDbRequeteEnum.FILMDUMOMENT:
                linkBase += "/movie/now_playing";
                break;

            case MovieDbRequeteEnum.FILMPOPULAIRE:
                linkBase += "/movie/popular";
                break;

            case MovieDbRequeteEnum.TVDUMOMENT:
                linkBase += "/tv/on_the_air";
                break;

            case MovieDbRequeteEnum.TVPOPULAIRE:
                linkBase += "/tv/popular";
                break;

            case MovieDbRequeteEnum.GETCOLLECTION:
                linkBase += "/collection/" + query;
                break;
            }

            //ajout de l'api key
            linkBase += "?api_key=" + ContexteStatic.ApiKeyMovieDb;

            //infos optionnelles
            switch (requete)
            {
            case MovieDbRequeteEnum.SEARCHMOVIE:
                linkBase += "&query=" + query.Replace(' ', '+');
                break;

            case MovieDbRequeteEnum.SEARCHTV:
                linkBase += "&query=" + query.Replace(' ', '+');
                break;

            case MovieDbRequeteEnum.RECHERCHEGENERALE:
                linkBase += "&query=" + query.Replace(' ', '+');
                if (page > 0)
                {
                    linkBase += "&page=" + page;
                }
                break;
            }


            //ajout de la langue
            linkBase += "&language=" + ListeLangues.GetLangueAppareil();
            linkBase += "&include_image_language=" + ListeLangues.GetLangueAppareil() + ",null";

            /*if (ContexteAppli.IsCortanaActive)
             * {
             *  linkBase += "&language=" + ListeLangues.GetLangueAppareil();
             *  linkBase += "&include_image_language=" + ListeLangues.GetLangueAppareil() + ",null";
             * }
             * else
             * {
             *  linkBase += "&language=" + ListeLangues.GetLangueEnCours().diminutif;
             *  linkBase += "&include_image_language=" + ListeLangues.GetLangueEnCours().diminutif + ",null";
             * }*/

            return(linkBase);
        }
Beispiel #18
0
 /// <summary>
 /// Change la langue de l'application
 /// </summary>
 public async Task ChangeLangueApplication()
 {
     ListeLangues.ChangeLangueAppli(SelectedLangue);
     await ParamBusiness.Save();
 }