/// <summary> /// Récupère et stock toutes les valeurs possibles d'échanges /// </summary> /// <returns></returns> public static bool storeAllCurrenciesPobisiblitiesInDB() { //Création du client pour les opérations de GET WebClient wb = new WebClient(); List <ExchangeRateOffline> offlineRateList = new List <ExchangeRateOffline>(); string responseForEUR = wb.DownloadString(API_RATE); string responseForUSD = wb.DownloadString(API_RATE + "?base=USD"); string responseForGBP = wb.DownloadString(API_RATE + "?base=GBP"); string responseForJPY = wb.DownloadString(API_RATE + "?base=JPY"); string responseForCAD = wb.DownloadString(API_RATE + "?base=CAD"); string responseForAUD = wb.DownloadString(API_RATE + "?base=AUD"); string responseFORCNY = wb.DownloadString(API_RATE + "?base=CNY"); List <string> allUrlsToGet = new List <string>() { responseForEUR, responseFORCNY, responseForCAD, responseForJPY, responseForUSD, responseForGBP, responseForAUD }; foreach (var url in allUrlsToGet) { ExchangeRateOffline rate = JsonConvert.DeserializeObject <ExchangeRateOffline>(url); offlineRateList.Add(rate); } //Insertion en base de donnés bool isInserted = QueryDBHelper.InsertRatesInDB(offlineRateList); return(isInserted); }
public static string resultConvertOffline(DeviseConverter.Models.ConverterModel cm) { //On effectue l'opération pour la convertio en fonction du taux de change string request = string.Format("SELECT EXCHANGE_RATE FROM offline_mode " + "WHERE CURRENCY_FROM = '{0}' AND CURRENCY_TARGET = '{1}'", cm.From, cm.To); ExchangeRateOffline ero = new ExchangeRateOffline(); DB database = new DB(); MySqlCommand msc = new MySqlCommand(request); DataTable dt = database.ExecuteSql(msc); string rate = DB.GetMapping(dt.Rows[0], "EXCHANGE_RATE", string.Empty); var regex = new Regex(Regex.Escape(".")); var filteredAmount = regex.Replace(cm.amount, "", 1); var amountToConvert = int.Parse(filteredAmount, System.Globalization.NumberStyles.AllowDecimalPoint); string filtreredRate = regex.Replace(rate, ",", 1); //Nous disposons du taux de change et de la devise à convertir //On fait l'opération var amountConverted = amountToConvert * double.Parse(filtreredRate, System.Globalization.NumberStyles.AllowDecimalPoint); //retour du montant convertit return(amountConverted.ToString()); }