internal static HighScoreUser FromCsv(ICsvLine data, HighScoreSettings settings) { int ranking; string userName; string clanName; string rankMs; string simMs; string rankRel; string totalRelics; string rawAd; string fullAd; if (!int.TryParse(data[settings.RankingCol].Trim(), out ranking)) { return(null); } userName = data[settings.NameCol].Trim(); clanName = data[settings.ClanCol].Trim(); rankMs = data[settings.RankMsCol].Trim(); simMs = data[settings.SimMSCol].Trim(); rankRel = data[settings.RankRelCol].Trim(); totalRelics = data[settings.TotalRelicsCol].Trim(); rawAd = data[settings.RawADCol].Trim(); fullAd = data[settings.FullADCol].Trim(); return(new HighScoreUser(ranking, userName, clanName, rankMs, simMs, rankRel, totalRelics, rawAd, fullAd)); }
internal HighScoreSheet(IEnumerable <ICsvLine> data, HighScoreSettings settings) { foreach (var user in data.Skip(settings.DataStartRow)) { var parsed = HighScoreUser.FromCsv(user, settings); if (parsed != null && parsed.Valid) { Users.Add(parsed); } } }