private void LoadSunyveilsReviews() { //each line= //cardname, rating, splashable, conditional foreach (var line in File.ReadAllLines(@"tierLists/Sunyveil.csv").Skip(1)) { var review = new SunyveilCardReview(); var columns = line.Split(','); int deltaIndex = 0; for (int i = 0; i < columns.Length;) { //stores the number of index jumps we did on this iteration int numberOfIndexJumps = 1; var finalColumn = columns[i]; if (finalColumn.StartsWith("\"")) { int quotesOccurence = finalColumn.Split('\"').Length - 1;; while (quotesOccurence != 2 && (i + numberOfIndexJumps) < columns.Length) { finalColumn += "," + columns[i + numberOfIndexJumps]; quotesOccurence = finalColumn.Split('\"').Length - 1; numberOfIndexJumps++; } finalColumn = finalColumn.Replace("\"", ""); } if (i == nameIndex) { review.Name = finalColumn; } else if (i == ratingIndex + deltaIndex) { review.AverageRating = finalColumn; } else if (i == splashableIndex + deltaIndex) { review.Splashable = finalColumn.Equals("TRUE"); } else if (i == conditionalIndex + deltaIndex) { review.Conditional = finalColumn.Equals("TRUE"); } deltaIndex += (numberOfIndexJumps - 1); i += numberOfIndexJumps; } if (!cardReviewsByNameByTeam.ContainsKey(new CardName(review.Name))) { cardReviewsByNameByTeam[new CardName(review.Name)] = new Dictionary <Team, CardReview>(); } cardReviewsByNameByTeam[new CardName(review.Name)][Team.SUNYVEIL] = review; } }
private ReviewDataSource() { LoadCardReviews(); foreach (var key in cardReviewsByNameByTeam.Keys) { bool tdcHas = cardReviewsByNameByTeam[key].ContainsKey(Team.TDC); bool sunyveilHas = cardReviewsByNameByTeam[key].ContainsKey(Team.SUNYVEIL); if (tdcHas != sunyveilHas) { if (!tdcHas) { var review = new TdcCardReview() { Name = key.name, Pack = "0", AverageRating = cardReviewsByNameByTeam[key][Team.SUNYVEIL].AverageRatingForColor().ToString("0.0"), }; review.RatingsByReviewer.Add("Flash", ""); review.RatingsByReviewer.Add("Drifter", ""); review.RatingsByReviewer.Add("Mgallop", ""); review.RatingsByReviewer.Add("Isomorphic", ""); review.CommentsByReviewer.Add("Flash", ""); review.CommentsByReviewer.Add("Drifter", ""); review.CommentsByReviewer.Add("Mgallop", ""); review.CommentsByReviewer.Add("Isomorphic", ""); cardReviewsByNameByTeam[key][Team.TDC] = review; } else { var review = new SunyveilCardReview() { Name = key.name, AverageRating = SunyveilCardReview.AverageRatingStringFromFloat(cardReviewsByNameByTeam[key][Team.TDC].AverageRatingForColor()), Splashable = false, Conditional = false, }; cardReviewsByNameByTeam[key][Team.SUNYVEIL] = review; } } } foreach (var key in cardReviewsByNameByTeam.Keys) { bool tdcHas = cardReviewsByNameByTeam[key].ContainsKey(Team.TDC); bool sunyveilHas = cardReviewsByNameByTeam[key].ContainsKey(Team.SUNYVEIL); if (tdcHas != sunyveilHas) { Console.WriteLine($"Found key \"{key.name}\" on TDC " + tdcHas + " on Sunyveil " + sunyveilHas); } } }