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)); }