Beispiel #1
0
        async Task ExecuteLoadParksCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                Parks.Clear();
                var items = await DataStore.GetItemsAsync(true);

                foreach (var item in items)
                {
                    Parks.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Parses CSV for GameLog files found here: http://www.retrosheet.org/gamelogs/index.html
        /// A description of the fields is here: http://www.retrosheet.org/gamelogs/glfields.txt
        /// </summary>
        /// <param name="file"></param>
        public void LoadGameLog(string file)
        {
            using (var fs = new FileStream(file, FileMode.Open))
            {
                using (var reader = new StreamReader(fs))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        try
                        {
                            var parts = line.Split(',');

                            var game = new Game();

                            // 0: Date
                            game.Date = parts[0].RemoveQuotes().ToDate();

                            // 3-4: Visiting team, league
                            var team   = parts[3].RemoveQuotes();
                            var league = parts[4].RemoveQuotes();

                            Team visitor = null;
                            if (!Teams.TryGetValue(team, out visitor))
                            {
                                visitor = new Team {
                                    Name = team, League = league.ToLeague()
                                };
                            }
                            game.Visitor = visitor;

                            // 6-7: Homee team, league
                            team   = parts[6].RemoveQuotes();
                            league = parts[7].RemoveQuotes();
                            Team home = null;
                            if (!Teams.TryGetValue(team, out home))
                            {
                                home = new Team {
                                    Name = team, League = league.ToLeague()
                                };
                                Teams.Add(home.Name, home);
                            }
                            game.Home = home;

                            // 9-10: Score
                            game.VisitorScore = int.Parse(parts[9]);
                            game.HomeScore    = int.Parse(parts[10]);

                            // 16-17: Park id, attendance
                            Park park   = null;
                            var  parkId = parts[16].RemoveQuotes();
                            if (!Parks.TryGetValue(parkId, out park))
                            {
                                park = new Park {
                                    Id = parkId
                                };
                                Parks.Add(parkId, park);
                            }
                            game.Park = park;

                            game.Attendance = int.Parse(parts[17]);

                            Games.Add(game);
                        }
                        catch
                        {
                            // ignore any parsing errors.
                        }
                    }
                }
            }
        }