예제 #1
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;
            }
        }
예제 #2
0
        /// <summary>
        /// Retourne le mot de passe de l'utilisateur
        /// </summary>
        /// <returns>le mot de passe</returns>
        public static async Task <string> GetPasswordUser()
        {
            if (await _fichier.FileExist())
            {
                //récupération du mot de passe de l'utilisateur
                var mdpHash = await _fichier.LireString();

                return(DechiffrementStringSurchiffre(mdpHash));
            }
            return(null);
        }
예제 #3
0
        /// <summary>
        /// Charge le fichier des timers
        /// </summary>
        public async Task <bool> LoadFile()
        {
            try
            {
                //lecture et déserialization
                var xsb = new XmlSerializer(typeof(ListTimer));
                if (await _fichierData.FileExist() && ListeCaR != null && ListeChronos != null && ListeCaR.Count <= 0 && ListeChronos.Count <= 0)
                {
                    using (var rd = new StringReader(await _fichierData.LireString()))
                    {
                        var listTmp = xsb.Deserialize(rd) as ListTimer;
                        if (listTmp != null)
                        {
                            _listeCaR    = new ObservableCollection <CaR>(listTmp._listeCaR);
                            _listeChrono = new ObservableCollection <Chrono>(listTmp._listeChrono);

                            var emplacement = 0;

                            foreach (var c in _listeCaR)
                            {
                                emplacement++;
                                //control des données de chaque compte à rebours
                                c.Control();

                                //on controle et corrige les éventuels doublon d'id
                                for (var i = emplacement; i < _listeCaR.Count; i++)
                                {
                                    if (_listeCaR[i].Id == c.Id)
                                    {
                                        _listeCaR[i].Id = ((_listeCaR.Count == 0)
                                            ? 0
                                            : _listeCaR.OrderByDescending(s => s.Id).FirstOrDefault().Id) + 1;
                                    }
                                }
                            }

                            foreach (var c in _listeChrono)
                            {
                                emplacement++;
                                //control des données de chaque compte à rebours
                                c.Control();

                                //on controle et corrige les éventuels doublon d'id
                                for (var i = emplacement; i < _listeCaR.Count; i++)
                                {
                                    if (_listeCaR[i].Id == c.Id)
                                    {
                                        _listeCaR[i].Id = ((_listeCaR.Count == 0)
                                            ? 0
                                            : _listeCaR.OrderByDescending(s => s.Id).FirstOrDefault().Id) + 1;
                                    }
                                }
                            }

                            OrderByTimer      = listTmp.OrderByTimer;
                            MinuteRepeatToast = listTmp.MinuteRepeatToast;
                            NbRepeatToast     = listTmp.NbRepeatToast;
                            CouleurFond       = listTmp.CouleurFond;
                        }
                        else
                        {
                            _listeCaR    = new ObservableCollection <CaR>();
                            _listeChrono = new ObservableCollection <Chrono>();
                        }
                    }
                }
            }
            catch
            {
                //en cas d'erreur on réinitilise tout
                ListeCaR     = new ObservableCollection <CaR>();
                _listeChrono = new ObservableCollection <Chrono>();
                OrderByTimer = false;
                return(false);
            }
            TrierListeCaR();
            MajBadge();
            return(true);
        }