예제 #1
0
 public void Save(Fixture fixture)
 {
     using (var context = new ScoreSquidContext())
     {
         commands.SaveFixture(context, fixture);
     }
 }
예제 #2
0
        public void SeedACoupleOfFixtures()
        {
            var teamRepository = new TeamRepository(new Commands());
            var divisionRepository = new DivisionRepository(new Commands());
            var fixtureRepository = new FixtureRepository(new Commands());

            var championship = divisionRepository.GetByIdentifier("E2");
            if (championship == null)
            {
                championship = new Division
                                   {
                                       DivisionIdentifier = "E2",
                                       Name = "Championship"
                                   };
                divisionRepository.Save(championship);
            }

            teamRepository.SaveNewTeam("Brighton", championship);
            var brighton = teamRepository.LoadTeamByName("Brighton");
            teamRepository.SaveNewTeam("West Ham", championship);
            var westHam = teamRepository.LoadTeamByName("West Ham");

            var fixture = new Fixture { HomeTeam = brighton, AwayTeam = westHam, Date = DateTime.Parse("23/10/2011") };
            fixtureRepository.Save(fixture);
        }
예제 #3
0
        public void Import(string[] fixtureRows, string divisionName, string divisionIdentifier)
        {
            var division = GetCreateDivison(divisionName, divisionIdentifier);

            var fixtures = (from csvline in fixtureRows.Skip(1)
                           let data = csvline.Split(',')
                           where data.Length > 0
                           select new
                           {
                               Date = data[1],
                               HomeTeam = data[2],
                               AwayTeam = data[3],
                               HomeTeamFullTimeTeamGoals = data[4],
                               AwayTeamFullTimeTeamGoals = data[5],
                               FullTimeResult = data[6],
                               HomeTeamHalfTimeTeamGoals = data[7],
                               AwayTeamHalfTimeTeamGoals = data[8],
                               HalfTimeResult = data[9],
                               HomeTotalShots = data[11],
                               AwayTotalShots = data[12],
                               HomeShotsOnTarget = data[13],
                               AwayShotsOnTarget = data[14],
                               HomeFouls = data[15],
                               AwayFouls = data[16],
                               HomeCorners = data[17],
                               AwayCorners = data[18],
                               HomeYellowCards = data[19],
                               AwayYellowCards = data[20],
                               HomeRedCards = data[21],
                               AwayRedCards = data[22]
                           }).ToList();
            foreach (var fix in fixtures)
            {
                var homeTeam = CreateTeam(fix.HomeTeam, division, TeamRepository);
                var awayTeam = CreateTeam(fix.AwayTeam, division, TeamRepository);

                var fixture = FixtureRepository.GetByHomeTeamNameAndAwayTeamName(fix.HomeTeam, fix.AwayTeam);

                if (fixture == null)
                {
                    fixture = new Fixture();
                    fixture.HomeTeam = homeTeam;
                    fixture.AwayTeam = awayTeam;
                    fixture.Date = fix.Date.TryDateParse();
                }

                FixtureRepository.Save(fixture);
            }
        }
        public static IFixtureHolder Parse(XElement parsedHtml)
        {
            var p = new WebFixtureImporter();
            var holder = (IFixtureHolder)p;
            var fixtures = holder.Fixtures = new Collection<Fixture>();
            foreach (var tdElements in GetDescendentsByClass(parsedHtml, "td", "class", "details"))
            {
                var fixture = new Fixture();
                var date = DateTime.Parse(GetDescendentsByClass(tdElements.Parent, "td", "class", "date").First().Value);
                var homeTeam = GetDescendentsByClass(tdElements, "li", "class", "home").Elements().First().Value;
                var awayTeam = GetDescendentsByClass(tdElements, "li", "class", "away").Elements().First().Value;
                fixtures.Add(new Fixture {});
            }

            return p;
        }
예제 #5
0
 public void SaveFixture(ScoreSquidContext context, Fixture fixture)
 {
     context.Fixtures.Add(fixture);
     context.Save();
 }
예제 #6
0
        public void TestResultImporter_ShouldImportResultsFromFile()
        {
            string[] csvlines = File.ReadAllLines(@"C:\Projects\ScoreSquid\csv\E2.csv");

            Division division = new Division
            {
                Name = "Championship",
                DivisionIdentifier = "E2"
            };

            var results = (from csvline in csvlines.Skip(1)
                        let data = csvline.Split(',')
                        select new
                        {
                            Date = data[1],
                            HomeTeam = data[2],
                            AwayTeam = data[3],
                            HomeTeamFullTimeTeamGoals = data[4],
                            AwayTeamFullTimeTeamGoals = data[5],
                            FullTimeResult = data[6],
                            HomeTeamHalfTimeTeamGoals = data[7],
                            AwayTeamHalfTimeTeamGoals = data[8],
                            HalfTimeResult = data[9],
                            HomeTotalShots = data[11],
                            AwayTotalShots = data[12],
                            HomeShotsOnTarget = data[13],
                            AwayShotsOnTarget = data[14],
                            HomeFouls = data[15],
                            AwayFouls = data[16],
                            HomeCorners = data[17],
                            AwayCorners = data[18],
                            HomeYellowCards = data[19],
                            AwayYellowCards = data[20],
                            HomeRedCards = data[21],
                            AwayRedCards = data[22]
                        }).ToList();

            foreach (var result in results)
            {
                var homeTeam = CreateTeam(result.HomeTeam, division);
                var awayTeam = CreateTeam(result.AwayTeam, division);

                var matchResult = new Result
                {
                    FullTimeResult = result.FullTimeResult,
                    HalfTimeResult = result.HalfTimeResult,
                    HomeTeam_Corners = result.HomeCorners.TryIntParse(),
                    HomeTeam_FoulsCommitted = result.HomeFouls.TryIntParse(),
                    HomeTeam_FullTimeTeamGoals = result.HomeTeamFullTimeTeamGoals.TryIntParse(),
                    HomeTeam_HalfTimeTeamGoals = result.HomeTeamHalfTimeTeamGoals.TryIntParse(),
                    HomeTeam_RedCards = result.HomeRedCards.TryIntParse(),
                    HomeTeam_ShotsOnTarget = result.HomeShotsOnTarget.TryIntParse(),
                    HomeTeam_TotalShots = result.HomeTotalShots.TryIntParse(),
                    HomeTeam_YellowCards = result.HomeYellowCards.TryIntParse(),
                    AwayTeam_Corners = result.AwayCorners.TryIntParse(),
                    AwayTeam_FoulsCommitted = result.AwayFouls.TryIntParse(),
                    AwayTeam_FullTimeTeamGoals = result.AwayTeamFullTimeTeamGoals.TryIntParse(),
                    AwayTeam_HalfTimeTeamGoals = result.AwayTeamHalfTimeTeamGoals.TryIntParse(),
                    AwayTeam_RedCards = result.AwayRedCards.TryIntParse(),
                    AwayTeam_ShotsOnTarget = result.AwayShotsOnTarget.TryIntParse(),
                    AwayTeam_TotalShots = result.AwayTotalShots.TryIntParse(),
                    AwayTeam_YellowCards = result.AwayYellowCards.TryIntParse()
                };

                var fixture = fixtureRepository.GetByHomeTeamNameAndAwayTeamName(result.HomeTeam, result.AwayTeam);

                if (fixture == null)
                {
                    fixture = new Fixture();
                    fixture.HomeTeam = homeTeam;
                    fixture.AwayTeam = awayTeam;
                    fixture.Date = result.Date.TryDateParse();
                    fixture.Result.Add(matchResult);
                }

                fixtureRepository.Save(fixture);
            }

             Assert.IsTrue(results.Count > 0);
        }