Exemple #1
0
        void GetRates()
        {
            while (!stop)
            {
                CurrencyCode code;

                lock (queue)
                {
                    if (queue.Count > 0)
                    {
                        code = queue[0];
                        queue.RemoveAt(0);
                    }
                    else
                    {
                        break;
                    }
                }

                decimal d = GetExchangeRate(code, CurrencyCode.USD);
                if (d != 0)
                {
                    Walkabout.Data.Currency found = myMoney.Currencies.FindCurrency(code.ToString());                   
                    if (found == null)
                    {
                        found = new Data.Currency();
                        found.Symbol = code.ToString();
                        myMoney.Currencies.AddCurrency(found);
                    }
                    
                    found.Ratio = d;
                }
            }
            quotesThread = null;
        }
        /// <summary>
        /// Méthode qui set un Data de taux de change, à partir de certains paramètres
        /// </summary>
        /// <param name="refCurr"> Currency de référence</param>
        /// <param name="comparedCurr"> Liste de Currency qu'on compare à la référene</param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="frequence">Fréquence de récupération des données: 0 = Daily, 1 = Monthly, 2 = Yearly</param>
        public void setExchangeRate(String refCurr, List <Data.Currency> comparedCurr, DateTime startDate, DateTime endDate, int frequence)
        {
            Data.Currency nameExchangeRate = (Data.Currency)Enum.Parse(typeof(Data.Currency), refCurr.ToUpper());

            Data.Frequency freq = Data.Frequency.Daily;
            if (frequence == 0)
            {
                freq = Data.Frequency.Daily;
            }
            if (frequence == 1)
            {
                freq = Data.Frequency.Monthly;
            }
            if (frequence == 2)
            {
                freq = Data.Frequency.Yearly;
            }


            Services s = new Services();

            Data d = s.getExchangeRate(nameExchangeRate, comparedCurr, startDate, endDate, freq, donnees);

            // gestion d'erreur
            donnees.SetData(GestionErreurs.exchangeErreur((DataExchangeRate)d, donnees));
            GestionErreurs.donneesIncomplètes(donnees, startDate, endDate);
            //
        }
 public static Domain.Entity.Currency ToEntity(this Data.Currency currency)
 {
     return(Domain.Entity.Currency.BuildCurrency(
                id: currency.Id,
                name: currency.Name));
 }