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