private static void ParseCsvExpression(string file)
        {
            var list = File.ReadAllLines(file)
                       .Skip(1)
                       .Select(f => ChessPlayer.ParseFideCsv(f))
                       .OrderByDescending(p => p.Rating).ThenBy(c => c.Country)
                       .Take(10);

            foreach (var player in list)
            {
                Console.WriteLine(player.ToString());
            }
        }
Beispiel #2
0
        public static void ParseCsv(string file)
        {
            var list = File.ReadAllLines(file)
                       .Skip(1)
                       .Select(s => ChessPlayer.ParseFideCsv(s))
                       .Where(player => player.BirthYear > 1988)
                       .OrderByDescending(player => player.Rating)
                       .ThenBy(p => p.Country)
                       .Take(10);

            foreach (var player in list)
            {
                Console.WriteLine(player);
            }
        }
Beispiel #3
0
        public static void InsertData()
        {
            var fileLocation = Path.Combine(Directory.GetCurrentDirectory(), "ChessStats", "Top100ChessPlayers.csv");

            var records = File.ReadAllLines(fileLocation)
                          .Skip(1)
                          .Select(s => ChessPlayer.ParseFideCsv(s))
                          .ToList();

            var db = new ChessPlayerDb();

            if (!db.chessPlayers.Any())
            {
                db.chessPlayers.AddRange(records);
            }

            db.SaveChanges();
        }
        private static void ParseCsvExpression_First_Last_Single_Default(string file)
        {
            var list = File.ReadAllLines(file)
                       .Skip(1)
                       .Select(f => ChessPlayer.ParseFideCsv(f))
                       .OrderByDescending(p => p.Rating).ThenBy(c => c.Country)
                       .Take(10);

            Console.WriteLine(list.First());
            Console.WriteLine(list.Last());
            Console.WriteLine(list.First(c => c.Country == "USA"));
            Console.WriteLine(list.Last(c => c.Country == "USA"));

            Console.WriteLine(list.FirstOrDefault(c => c.Country == "BRA"));
            Console.WriteLine(list.LastOrDefault(c => c.Country == "BRA"));

            Console.WriteLine(list.Single(c => c.Country == "FRA"));
            Console.WriteLine(list.SingleOrDefault(c => c.Country == "BRA"));
        }
Beispiel #5
0
        public static void GroupByDemo(string file)
        {
            var players = File.ReadAllLines(file)
                          .Skip(1)
                          .Select(s => ChessPlayer.ParseFideCsv(s))
                          .Where(p => p.BirthYear > 1988)
                          .Take(10)
                          .GroupBy(p => p.Country)
                          .OrderByDescending(g => g.Key)
                          .ToList();

            foreach (var player in players)
            {
                Console.WriteLine($"\nThe following players live in {player.Key}");
                foreach (var p in player)
                {
                    Console.WriteLine($"Player: {p.LastName}, Rating: {p.Rating} ");
                }
            }
        }
        public static void SequenceEqual(string file)
        {
            var list = File.ReadAllLines(file)
                       .Skip(1)
                       .Select(f => ChessPlayer.ParseFideCsv(f))
                       .Where(p => p.BirthYear > 1988)
                       .OrderByDescending(p => p.Rating).ThenBy(c => c.Country)
                       .Take(10);

            var list2 = File.ReadAllLines(file)
                        .Skip(1)
                        .Select(f => ChessPlayer.ParseFideCsv(f))
                        .Where(p => p.BirthYear > 1988)
                        .OrderByDescending(p => p.Rating).ThenBy(c => c.Country)
                        .Take(10);

            bool areEqual = list.SequenceEqual(list2, new PlayerComparer());

            Console.WriteLine($"Are collections equal? {areEqual}");
        }
Beispiel #7
0
        public static void JoinDemo(string file)
        {
            var players = File.ReadAllLines(file)
                          .Skip(1)
                          .Select(s => ChessPlayer.ParseFideCsv(s))
                          .Where(p => p.BirthYear > 1988)
                          .Take(10)
                          .ToList();

            var tournaments = Tournament.GetDemoStats();

            var join = players.Join(tournaments,
                                    p => p.Id,
                                    t => t.PlayerId,
                                    (p, t) => new
            {
                p.LastName,
                p.Rating,
                t.Title,
                t.TakenPlace,
                t.Country
            });

            foreach (var item in join)
            {
                Console.WriteLine($"{item.LastName} took {item.TakenPlace} place at {item.Title}. Has " +
                                  $"rating {item.Rating}");
            }


            Console.WriteLine("After Join");
            var selectMany = join.GroupBy(c => c.Country)
                             .SelectMany(g => g.OrderBy(grp => grp.TakenPlace));

            foreach (var item in selectMany)
            {
                Console.WriteLine($"{item.LastName} took {item.TakenPlace} place at {item.Title}. Has " +
                                  $"rating {item.Rating}");
            }
        }
Beispiel #8
0
        public static void CsvToXml()
        {
            var fileLocation = Path.Combine(Directory.GetCurrentDirectory(), "ChessStats", "Top100ChessPlayers.csv");

            var records = File.ReadAllLines(fileLocation)
                          .Skip(1)
                          .Select(s => ChessPlayer.ParseFideCsv(s))
                          .ToList();

            var doc     = new XDocument();
            var players = new XElement("Players",
                                       records.Select(record => new XElement("Player",
                                                                             new XAttribute("Id", record.Id),
                                                                             new XAttribute("Rating", record.Rating),
                                                                             new XAttribute("BirthYear", record.BirthYear),
                                                                             new XAttribute("Country", record.Country),
                                                                             new XAttribute("Lastname", record.LastName),
                                                                             new XAttribute("Firstname", record.FirstName))));

            doc.Add(players);
            doc.Save("ChessPlayers.xml");
        }
        public static void MinMaxSumAverage(string file)
        {
            var list = File.ReadAllLines(file)
                       .Skip(1)
                       .Select(s => ChessPlayer.ParseFideCsv(s))
                       .Where(p => p.BirthYear > 1988)
                       .OrderByDescending(p => p.Rating)
                       .Take(10)
                       .ToList();

            Console.WriteLine($"The lowest rating in top 10: {list.Min(x => x.Rating)}");
            Console.WriteLine($"The Maxiumum rating in top 10: {list.Max(x => x.Rating)}");
            Console.WriteLine($"The average rating in top 10: {list.Average(x => x.Rating)}");

            var data = new List <int>()
            {
                1, 20, 37, 93, 107, 509, 670, 35
            };
            var total = data.Sum(i => i);

            Console.WriteLine($"The Sum of the integers is : { total}");
        }