Пример #1
0
        private Encounter AddNew(Encounter aMatch)
        {
            EncounterEntity toAdd = matchConverter.ToEntity(aMatch);

            context.Entry(toAdd).State = EntityState.Added;
            AddComments(toAdd, aMatch.GetAllCommentaries());

            //We also need to ask if it is an Sql database, so that we can execute the sql scripts.
            if (aMatch.Id > 0 && context.Database.IsSqlServer())
            {
                SaveWithIdentityInsert();
            }
            else
            {
                context.SaveChanges();
            }
            Encounter added = factory.CreateEncounter(toAdd.Id, aMatch.GetParticipants(), aMatch.Date, aMatch.Sport);
            ICollection <EncounterTeam> playingTeams = matchConverter.ConvertParticipants(added);

            foreach (EncounterTeam team in playingTeams)
            {
                context.Entry(team).State = EntityState.Added;
            }
            context.SaveChanges();
            context.Entry(toAdd).State = EntityState.Detached;
            return(added);
        }
Пример #2
0
        public Encounter ToEncounter(EncounterDto dto)
        {
            ICollection <Team>       teams        = TryGetTeams(dto.teamsIds);
            ICollection <Commentary> commentaries = TryGetCommentaries(dto.commentsIds);
            Sport played = TryGetSport(dto.sportName);

            return(factory.CreateEncounter(dto.id, teams, dto.date, played, commentaries));
        }
Пример #3
0
        private ICollection <Encounter> GenereteMatches(ICollection <Team> teams)
        {
            ICollection <Encounter> matchesGenerated = new List <Encounter>();

            Team[] teamsArray = teams.ToArray();
            for (int i = 0; i < teamsArray.Length; i++)
            {
                for (int j = i; j < teamsArray.Length; j++)
                {
                    if (i != j)
                    {
                        matchesGenerated.Add(factory.CreateEncounter(new List <Team>()
                        {
                            teamsArray[i], teamsArray[j]
                        }, new DateTime(), played));
                    }
                }
            }
            return(matchesGenerated);
        }
 private void AddMatches(ICollection <Encounter> fixture, Team[,] actualRound, DateTime roundDate)
 {
     for (int i = 0; i < actualRound.GetLength(1); i++)
     {
         Sport     sport    = actualRound[0, i].Sport;
         Encounter newMatch = factory.CreateEncounter(new List <Team>()
         {
             actualRound[0, i], actualRound[1, i]
         }, roundDate, sport);
         fixture.Add(newMatch);
     }
 }
Пример #5
0
        private void DuplicateMatches(ICollection <Encounter> generatedFixture)
        {
            int matchesCount = generatedFixture.Count;
            IEnumerator <Encounter> matches = generatedFixture.GetEnumerator();
            int actualRoundLength           = 0;

            for (int i = 0; i < matchesCount; i++)
            {
                matches.MoveNext();
                Encounter current  = matches.Current;
                DateTime  nextDate = NextDate(current.Date, actualRoundLength);
                Encounter newMatch = factory.CreateEncounter(current.GetParticipants(), nextDate, current.Sport);

                if (actualRoundLength == roundLength)
                {
                    actualRoundLength = 0;
                }
                else
                {
                    actualRoundLength++;
                }
            }
        }
Пример #6
0
        public void AddFixtureTeamAlreadyHasMatchTest()
        {
            AddSportAndTeams();
            testFixture.fixtureName = (typeof(OneMatchFixture)).ToString();
            fixtureService.SetFixtureAlgorithm(testFixture, algorithmPaths);
            Encounter aMatch = factory.CreateEncounter(new List <Team>()
            {
                teamA, teamB
            }, testFixture.initialDate, sport);

            matchStorage.Add(aMatch);
            ICollection <EncounterDto> matchesAdded = fixtureService.AddFixture(teamsNames, sport.Name);

            Assert.IsTrue(matchStorage.IsEmpty());
        }
        public Encounter ToEncounter(EncounterEntity anEncounter, ICollection <EncounterTeam> playingTeams)
        {
            ICollection <Commentary> comments = anEncounter.Commentaries.Select(ce => commentConverter.ToComment(ce)).ToList();
            ICollection <Team>       teams    = playingTeams.Select(tm => teamConverter.ToTeam(tm.Team)).ToList();
            DateTime  date    = anEncounter.Date;
            Sport     sport   = sportConverter.ToSport(anEncounter.SportEntity);
            Encounter created = factory.CreateEncounter(anEncounter.Id, teams, date, sport, comments);

            if (anEncounter.HasResult)
            {
                Result matchResult = ToResults(playingTeams);
                created.Result = matchResult;
            }
            return(created);
        }
Пример #8
0
        public void BuildMatch3ArgumentsTest()
        {
            Encounter testMatch = testFactory.CreateEncounter(new List <Team>()
            {
                teamA, teamB
            }, date, sport);
            Match downcast = testMatch as Match;

            Assert.IsNotNull(downcast);
        }
        public void SetUp()
        {
            factory    = new EncounterFactory();
            testMapper = new EncounterMapper();
            SportEntity testSport = new SportEntity()
            {
                Name = "Soccer", IsTwoTeams = true
            };
            TeamEntity homeTest = new TeamEntity {
                TeamNumber = 3, SportEntityName = "Soccer", Sport = testSport, Name = "Nacional", Photo = "aPath"
            };
            TeamEntity awayTest = new TeamEntity {
                TeamNumber = 4, SportEntityName = "Soccer", Sport = testSport, Name = "Torque", Photo = "aPath"
            };

            entity = new EncounterEntity()
            {
                Id           = 3,
                Date         = DateTime.Now,
                SportEntity  = testSport,
                HasResult    = false,
                Commentaries = new List <CommentEntity>()
            };
            EncounterTeam homeRel = new EncounterTeam()
            {
                Team = homeTest, TeamNumber = 3, Encounter = entity, EncounterId = 3
            };
            EncounterTeam awayRel = new EncounterTeam()
            {
                Team = awayTest, TeamNumber = 4, Encounter = entity, EncounterId = 3
            };

            playingTeams = new List <EncounterTeam>()
            {
                homeRel, awayRel
            };
            homeMock = new Team(3, "Nacional", "aPath", new Sport("Soccer", true));
            awayMock = new Team(4, "Torque", "aPath", new Sport("Soccer", true));
            Sport sport = new Sport("Soccer", true);

            match = factory.CreateEncounter(new List <Team>()
            {
                homeMock, awayMock
            }, DateTime.Now, sport);
        }