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); }
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)); }
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); } }
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++; } } }
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); }
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); }