/// <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); }
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; }
/// <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; } }
private void comboListeLangue_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (ComboListeLangue.SelectedItem is ListeLangues.LanguesStruct) { ListeLangues.ChangeLangueAppli((ListeLangues.LanguesStruct)ComboListeLangue.SelectedItem); AvertissementTextBlock.Visibility = Visibility.Visible; } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); _listeLangues = new ObservableCollection <ListeLangues.LanguesStruct>(ListeLangues.GetListesLangues()); ComboListeLangue.ItemsSource = _listeLangues; ComboListeLangue.SelectedItem = ListeLangues.GetLangueEnCours(); }
//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; } }
/// <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); }
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(); }
/// <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)); }
/// <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; }
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; }
/// <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); }
/// <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(); }
private void SelectLangueCombo() { SelectedLangue = ListeLangues.GetLangueEnCours(); ComboListeLangue.SelectedIndex = SelectedLangue.Id - 1; }
/// <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); }
/// <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())); } }
/// <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); }
/// <summary> /// Change la langue de l'application /// </summary> public async Task ChangeLangueApplication() { ListeLangues.ChangeLangueAppli(SelectedLangue); await ParamBusiness.Save(); }