/// <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);
        }
Exemple #2
0
        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());
        }