Пример #1
0
        static void FillModel(IList <string> values, CurrencyDetails model, ModelIndexes indexes, string code)
        {
            DateTime forDate;

            DateTime.TryParse(values[indexes.ForDate], out forDate);
            model.Date = forDate;

            uint coins;

            if (indexes.Coins != -1)
            {
                uint.TryParse(values[indexes.Coins].Split('.')[0], out coins);
                model.Coins = coins;
            }

            decimal marketCap;

            decimal.TryParse(values[indexes.MarketCap], NumberStyles.Any, CultureInfo.InvariantCulture, out marketCap);
            model.MarketCap = marketCap;

            decimal price;

            decimal.TryParse(values[indexes.Price], NumberStyles.Any, CultureInfo.InvariantCulture, out price);
            model.Price = price;
        }
Пример #2
0
        static ModelIndexes FillModelIndexer(string headerLine)
        {
            if (null == headerLine)
            {
                return(null);
            }
            var          model   = new ModelIndexes();
            var          columns = headerLine.Split(',');
            const string dateH   = "date";
            const string priceH  = "PriceUSD";
            const string marketH = "CapMrktCurUSD";
            const string coinsH  = "SplyCur";

            for (var i = 0; i < columns.Length; i++)
            {
                switch (columns[i])
                {
                case priceH:
                    model.Price   = i;
                    model.Ceiling = Math.Max(model.Ceiling, i);
                    break;

                case marketH:
                    model.MarketCap = i;
                    model.Ceiling   = Math.Max(model.Ceiling, i);
                    break;

                case coinsH:
                    model.Coins   = i;
                    model.Ceiling = Math.Max(model.Ceiling, i);
                    break;

                case dateH:
                    model.ForDate = i;
                    model.Ceiling = Math.Max(model.Ceiling, i);
                    break;
                }
            }
            if (model.ForDate != -1 && model.MarketCap != -1 && model.Price != -1)
            {
                return(model);
            }
            else
            {
                return(null);
            }
        }