Beispiel #1
0
        private static List <RateEntities> LoadData(CbrApi api, DateTime startDate, DateTime endDate)
        {
            var rates   = new List <RateEntities>();
            var valutes = GetValutes(api, "USD", "GBP", "JPY", "CHF", "EUR", "CNY", "TRY");

            rates.AddRange(valutes.Select(valute => api.GetValuteRates(valute.Id, startDate, endDate)));
            rates.AddRange(api.GetMetallRates(startDate, endDate));
            // get diffs
            var ids = rates.Select(x => x.Id).ToList();

            foreach (var id in ids)
            {
                var entities = rates.First(x => x.Id == id);
                entities.DateSort();
                rates.Add(entities.GetDiffList());
            }
            // get averages for 7, 14, 28, 56 days
            for (int i = 0; i < 4; i++)
            {
                var days = 7 * (1 << i);
                foreach (var id in ids)
                {
                    rates.Add(rates.First(x => x.Id == id).GetAverageList(days));
                }
            }
            return(rates);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var api = new CbrApi();

            var rates = LoadData(api, new DateTime(2014, 10, 1), DateTime.Now);

            // form csv table
            BuildByCode("R01235", rates);
        }
        public static JArray GetArrayQuotations(string path, DateTime dateBegin, DateTime dateEnd)
        {
            CultureInfo.CurrentCulture = new CultureInfo("ru-RU");

            var quotationsCsv = FinanceApi.GetFinanceQuotations(dateBegin, dateEnd);

            Converter.ConvertCsvToXlsx(quotationsCsv, path);
            var quotations = Converter.ConvertCsvToListQuotation(quotationsCsv);

            for (int i = 0; i < quotations.Count; i++)
            {
                var valCurs = CbrApi.GetValCursUsd(quotations[i].DateQuotation);
                quotations[i].ChangeCurrencyToRub(valCurs);
            }

            JArray jArray = Converter.ConvertListQuotationToJArray(quotations);

            return(jArray);
        }
        public void TestCbrApi()
        {
            double cursValute = CbrApi.GetValCursUsd(new DateTime(2020, 12, 15));

            Assert.AreEqual(72.9272, cursValute);
        }
Beispiel #5
0
        private static List <Valute> GetValutes(CbrApi api, params string[] codes)
        {
            var valutesList = api.GetValutesList();

            return(codes.Select(code => valutesList.FirstOrDefault(x => x.IsoCharCode == code)).Where(valute => valute != null).ToList());
        }