示例#1
0
        public static void SubmitTeam(string teamName, List <Players> selectedPlayers)
        {
            using var db = new FootballContext();
            Teams newTeam = new Teams
            {
                TeamName = teamName
            };

            db.Teams.Add(newTeam);
            db.SaveChanges();
            foreach (var selectedplayer in selectedPlayers)
            {
                PlayerTeams newEntry = new PlayerTeams
                {
                    TeamId   = newTeam.TeamId,
                    PlayerId = selectedplayer.PlayerId
                };
                db.PlayerTeams.Add(newEntry);
            }
            TeamStatistics newStatistics = new TeamStatistics
            {
                TeamId        = newTeam.TeamId,
                MatchesPlayed = 0,
                Wins          = 0,
                Draws         = 0,
                Losses        = 0,
                GoalsScored   = 0,
                GoalsConceded = 0
            };

            db.TeamStatistics.Add(newStatistics);
            db.SaveChanges();
        }
示例#2
0
        public static void SubmitPlayer(string firstName, string lastName, string nationality, DateTime dob,
                                        List <Teams> selectedTeams, Positions pos)
        {
            using var db = new FootballContext();
            Players newPlayer = new Players
            {
                FirstName   = firstName,
                LastName    = lastName,
                Nationality = nationality,
                DateOfBirth = dob,
                PositionId  = pos.PositionId
            };

            db.Players.Add(newPlayer);
            db.SaveChanges();

            foreach (var team in selectedTeams)
            {
                PlayerTeams newEntry = new PlayerTeams
                {
                    PlayerId = newPlayer.PlayerId,
                    TeamId   = team.TeamId
                };
                db.PlayerTeams.Add(newEntry);
            }
            db.SaveChanges();
        }
示例#3
0
        public static void SaveTeam(Teams team, string teamName, int matchesPlayed, int wins, int draws, int losses, int goalsScored,
                                    int goalsConceded, List <Players> players)
        {
            using var db = new FootballContext();
            var findTeam =
                db.Teams.Where(o => o.TeamId == team.TeamId).FirstOrDefault();
            var findstats =
                db.TeamStatistics.Where(o => o.TeamId == team.TeamId).FirstOrDefault();

            findTeam.TeamName       = teamName;
            findstats.MatchesPlayed = matchesPlayed;
            findstats.Wins          = wins;
            findstats.Draws         = draws;
            findstats.Losses        = losses;
            findstats.GoalsScored   = goalsScored;
            findstats.GoalsConceded = goalsConceded;
            var removeEntries =
                db.PlayerTeams.Where(o => o.TeamId == team.TeamId);

            foreach (var rEntry in removeEntries)
            {
                db.PlayerTeams.Remove(rEntry);
            }
            foreach (var player in players)
            {
                PlayerTeams newEntry = new PlayerTeams
                {
                    PlayerId = player.PlayerId,
                    TeamId   = team.TeamId
                };
                db.PlayerTeams.Add(newEntry);
            }
            db.SaveChanges();
        }
示例#4
0
        private static League CreateLeagueIfNotExists(FootballContext context, XElement xLeague)
        {
            League league             = null;
            var    xElementLeagueName = xLeague.Element("league-name");

            if (xElementLeagueName != null)
            {
                string leagueName = xElementLeagueName.Value;
                league = context.Leagues.FirstOrDefault(l => l.LeagueName == leagueName);
                if (league != null)
                {
                    Console.WriteLine("Existing league: {0}", leagueName);
                }
                else
                {
                    // Create a new league in the DB
                    league = new League()
                    {
                        LeagueName = leagueName
                    };
                    context.Leagues.Add(league);
                    context.SaveChanges();
                    Console.WriteLine("Created league: {0}", leagueName);
                }
            }
            return(league);
        }
示例#5
0
        public ActionResult Post(Player player)
        {
            var response = footballContext.Players.Add(player).Entity;

            footballContext.SaveChanges();
            return(this.CreatedAtAction(nameof(Get), response.Id, response));
        }
示例#6
0
        public void addPlayer(PlayerReq p, int tId)
        {
            var team = _context.Teams.Where(a => a.IdTeam == tId).FirstOrDefault();

            var man = _context.Players.Where(e => e.FirstName.Equals(p.firstName) && e.LastName.Equals(p.lastName) && e.DateOfBirth == p.birthdate).FirstOrDefault();

            if (team == null)
            {
                throw new Exception();//nie zrobilem swojego
            }

            if (man == null)
            {
                throw new Exception();//nie zrobilem swojego
            }

            var player = _context.PlayerTeams.Where(t => t.IdPlayer == man.IdPlayer).FirstOrDefault();

            PlayerTeaM nowyGracz = new PlayerTeaM()
            {
                IdPlayer = player.IdPlayer
            };

            _context.PlayerTeams.Add(nowyGracz);
            _context.SaveChanges();
        }
示例#7
0
        public void EditTeam()
        {
            string expected = "Changed";
            string result;
            Teams  NewTeam;

            using (var db = new FootballContext())
            {
                Teams newTeam = new Teams
                {
                    TeamName = "Test"
                };
                db.Teams.Add(newTeam);
                NewTeam = newTeam;
                db.SaveChanges();
            }
            CRUDManager.Program.SaveTeam(NewTeam, NewTeam.TeamName, 0, 0, 0, 0, 0, 0, new List <Players>());
            using (var db = new FootballContext())
            {
                var newTeam =
                    db.Teams.Where(o => o.TeamId == NewTeam.TeamId).FirstOrDefault();
                var teamStats =
                    db.TeamStatistics.Where(o => o.TeamId == NewTeam.TeamId).FirstOrDefault();
                result = newTeam.TeamName;
                db.Remove(teamStats);
                db.Remove(newTeam);
                db.SaveChanges();
            }
            Assert.AreEqual(result, expected);
        }
示例#8
0
        public static void SavePlayer(string firstName, string lastName, string nationality, DateTime dob,
                                      Positions pos, Players selectedPlayer, List <Teams> teams)
        {
            using var db = new FootballContext();
            var findPlayer =
                db.Players.Where(o => o.PlayerId == selectedPlayer.PlayerId).First();

            findPlayer.FirstName   = firstName;
            findPlayer.LastName    = lastName;
            findPlayer.Nationality = nationality;
            findPlayer.DateOfBirth = dob;
            findPlayer.PositionId  = pos.PositionId;
            var removeEntries =
                db.PlayerTeams.Where(o => o.PlayerId == selectedPlayer.PlayerId);

            foreach (var rEntry in removeEntries)
            {
                db.PlayerTeams.Remove(rEntry);
            }
            foreach (var team in teams)
            {
                PlayerTeams newEntry = new PlayerTeams
                {
                    PlayerId = selectedPlayer.PlayerId,
                    TeamId   = team.TeamId
                };
                db.PlayerTeams.Add(newEntry);
            }
            db.SaveChanges();
        }
        public void Execute()
        {
            _contextOptions = new DbContextOptionsBuilder <FootballContext>()
                              .UseSqlServer(@"Server=tcp:qdijnzq4jx.database.windows.net,1433;Initial Catalog=Football;Persist Security Info=False;User ID=lordpiti@qdijnzq4jx;Password=Kidswast1;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;")
                              .Options;

            var context = new FootballContext((DbContextOptions <FootballContext>)_contextOptions);

            var b = context.Calendario;

            foreach (var item in b)
            {
                var matchFound = context.Partido.FirstOrDefault(x => x.CodCompeticion == item.CodCompeticion &&
                                                                x.Jornada == item.Jornada && x.CodLocal == item.CodLocal && x.CodVisitante == item.CodVisitante);

                if (matchFound != null)
                {
                    item.MatchCodPartidoNavigation = matchFound;
                }
            }
            try
            {
                context.SaveChanges();
            }
            catch (Exception ex)
            {
            }
        }
示例#10
0
        static void Main(string[] args)
        {
            FootballContext ctx = new FootballContext();



            var aarena = new Arena();

            Console.WriteLine("Enter an Arnea name");
            var name = Console.ReadLine();

            aarena.Name = name;
            Console.WriteLine("Enter an Arnea address name");
            var address = Console.ReadLine();

            aarena.Address = address;


            ctx.Arenas.Add(aarena);

            var ateam = new Team();

            Console.WriteLine("Enter an Team name");

            var teamname = Console.ReadLine();

            ateam.Name = teamname;

            Console.WriteLine("Enter an Team Email name");


            ateam.Email = teamname + "di.com";
            ctx.Teams.Add(ateam);



            ctx.SaveChanges();



            // list of Arena
            Console.WriteLine("List of Arena name------");


            foreach (var listarena in ctx.Arenas)
            {
                Console.WriteLine(listarena.Name);
            }

            // list of Team
            Console.WriteLine("List of Team name------");

            foreach (var alist in ctx.Teams)
            {
                Console.WriteLine(alist.Name);
            }
            Console.ReadKey();
        }
示例#11
0
        public void Setup()
        {
            using (var context = new FootballContext())
            {
                context.RemoveRange(context.Player);
                context.RemoveRange(context.Team);


                context.SaveChanges();
            }
        }
示例#12
0
        public void AddTeam()
        {
            int expected;
            int result;

            using (var db = new FootballContext())
            {
                expected = db.Teams.Count() + 1;
                Teams newTeam = new Teams
                {
                    TeamName = "Test"
                };
                db.Teams.Add(newTeam);
                db.SaveChanges();
                result = db.Teams.Count();
                db.Remove(newTeam);
                db.SaveChanges();
            }
            Assert.AreEqual(result, expected);
        }
示例#13
0
        public void AddCardsToPlayers(int cardId, int playerId)
        {
            using (var ctx = new FootballContext("Default"))
            {
                var players = ctx.Players.FirstOrDefault(x => x.Id == playerId);
                var card    = ctx.Cards.FirstOrDefault(x => x.Id == cardId);

                players.Cards.Add(card);
                ctx.SaveChanges();
            }
        }
示例#14
0
        public static void RemovePlayer(Players selectedPlayer)
        {
            using var db = new FootballContext();
            var getPlayerTeams =
                db.PlayerTeams.Where(o => o.PlayerId == selectedPlayer.PlayerId);

            foreach (var playerteam in getPlayerTeams)
            {
                db.PlayerTeams.Remove(playerteam);
            }
            db.Players.Remove(selectedPlayer);
            db.SaveChanges();
        }
示例#15
0
        public void RemovePlayer()
        {
            int expected;
            int result;

            using (var db = new FootballContext())
            {
                Players newplayer = new Players
                {
                    FirstName   = "Test",
                    PositionId  = 1,
                    LastName    = "Test",
                    DateOfBirth = DateTime.Parse("1111/11/11"),
                    Nationality = "Test"
                };
                db.Players.Add(newplayer);
                db.SaveChanges();
                expected = db.Players.Count() - 1;
                db.Remove(newplayer);
                db.SaveChanges();
                result = db.Players.Count();
            }
            Assert.AreEqual(result, expected);
        }
示例#16
0
        public static void RemoveTeam(Teams selectedTeam)
        {
            using var db = new FootballContext();
            var getPlayerTeams =
                db.PlayerTeams.Where(o => o.TeamId == selectedTeam.TeamId);

            foreach (var playerteam in getPlayerTeams)
            {
                db.PlayerTeams.Remove(playerteam);
            }
            var getTeamstats =
                db.TeamStatistics.Where(o => o.TeamId == selectedTeam.TeamId).FirstOrDefault();

            db.TeamStatistics.Remove(getTeamstats);
            db.Teams.Remove(selectedTeam);
            db.SaveChanges();
        }
示例#17
0
 private static void AddTeamToLeague(FootballContext context, Team team, League league)
 {
     if (league != null)
     {
         if (team.Leagues.Contains(league))
         {
             Console.WriteLine("Existing team in league: {0} belongs to {1}",
                               team.TeamName, league.LeagueName);
         }
         else
         {
             team.Leagues.Add(league);
             context.SaveChanges();
             Console.WriteLine("Added team to league: {0} to league {1}",
                               team.TeamName, league.LeagueName);
         }
     }
 }
示例#18
0
        private static void CreateTeamsIfNotExists(
            FootballContext context, IEnumerable <XElement> xTeams, League league)
        {
            foreach (var xTeam in xTeams)
            {
                // Find the team by team name and country name (if exists)
                var    teamName    = xTeam.Attribute("name").Value;
                var    xCountry    = xTeam.Attribute("country");
                string countryName = null;
                if (xCountry != null)
                {
                    countryName = xCountry.Value;
                }
                var team = context.Teams
                           .Include(t => t.Leagues)
                           .FirstOrDefault(
                    t => t.TeamName == teamName &&
                    t.Country.CountryName == countryName);

                // Create the team if it does not exists
                if (team != null)
                {
                    Console.WriteLine("Existing team: {0} ({1})",
                                      team.TeamName, countryName ?? "no country");
                }
                else
                {
                    // Create a new team in the DB
                    team = new Team()
                    {
                        TeamName = teamName,
                        Country  = context.Countries.FirstOrDefault(
                            c => c.CountryName == countryName),
                    };
                    context.Teams.Add(team);
                    context.SaveChanges();
                    Console.WriteLine("Created team: {0} ({1})",
                                      team.TeamName, countryName ?? "no country");
                }

                AddTeamToLeague(context, team, league);
            }
        }
        private static void ProcessRequest(Request request)
        {
            var context = new FootballContext();
            var teamsForMatchesQuery = context.Teams.AsQueryable();

            var league = context.Leagues.FirstOrDefault(l => l.LeagueName == request.LeagueName);

            if (request.LeagueName != null)
            {
                teamsForMatchesQuery = teamsForMatchesQuery.Where(
                    t => t.Leagues.Select(l => l.Id).Contains(league.Id));
            }
            var teams = teamsForMatchesQuery.ToList();

            var rnd      = new Random();
            var diffDays = (request.EndDate - request.StartDate).Days;

            for (int i = 0; i < request.GenerateCount; i++)
            {
                var match = new TeamMatch();
                match.TeamHome  = teams[rnd.Next(teams.Count)];
                match.TeamAway  = teams[rnd.Next(teams.Count)];
                match.HomeGoals = rnd.Next(request.MaxGoals + 1);
                match.AwayGoals = rnd.Next(request.MaxGoals + 1);
                match.MatchDate = request.StartDate.AddDays(rnd.Next(diffDays + 1));
                match.League    = league;

                context.TeamMatches.Add(match);
                context.SaveChanges();

                Console.WriteLine("{0}: {1} - {2}: {3}-{4} ({5})",
                                  match.MatchDate.Value.ToString("dd-MMM-yyyy"),
                                  match.TeamHome.TeamName,
                                  match.TeamAway.TeamName,
                                  match.HomeGoals,
                                  match.AwayGoals,
                                  match.League != null ? match.League.LeagueName : "no league");
            }
        }
示例#20
0
        public void EditPlayer()
        {
            string    expected;
            string    result;
            Players   newPlayer;
            Positions newPlayerPos;

            using (var db = new FootballContext())
            {
                expected = "Changed";
                Players newplayer = new Players
                {
                    FirstName   = "Test",
                    PositionId  = 1,
                    LastName    = "Test",
                    DateOfBirth = DateTime.Parse("1111/11/11"),
                    Nationality = "Test"
                };
                Positions pos =
                    db.Positions.Where(o => o.PositionId == newplayer.PositionId).FirstOrDefault();
                db.Players.Add(newplayer);
                newPlayer    = newplayer;
                newPlayerPos = pos;
                db.SaveChanges();
            }
            CRUDManager.Program.SavePlayer("Changed", "Test", "Test", DateTime.Parse("1111/11/11"), newPlayerPos, newPlayer,
                                           new List <Teams>());
            using (var db = new FootballContext())
            {
                var newplayer =
                    db.Players.Where(o => o.PlayerId == newPlayer.PlayerId).FirstOrDefault();
                result = newplayer.FirstName;
                db.Remove(newplayer);
                db.SaveChanges();
            }

            Assert.AreEqual(result, expected);
        }
示例#21
0
 public int Save()
 {
     return(context.SaveChanges());
 }
示例#22
0
        public void Update(Team team)
        {
            var getTeam = _db.Team.FirstOrDefault(x => x.Id == team.Id);

            _db.SaveChanges();
        }
示例#23
0
 public void Save()
 {
     _db.SaveChanges();
 }
示例#24
0
 public int Commit()
 {
     return(_context.SaveChanges());
 }
示例#25
0
        public static Tuple <string, string, string> Simulate(Teams team1, List <Players> team1Squad, Teams team2, List <Players> team2Squad)
        {
            Random rnd        = new Random();
            int    clock      = 1;
            int    team1goals = 0;
            int    team2goals = 0;
            string Output     = "";
            string Score      = "";
            string Events     = "";

            Output += $"The of lineup of {team1.TeamName}:" + "\n";
            foreach (var player in team1Squad)
            {
                Output += $"{player}" + "\n";
            }
            Output += "\n";
            Output += $"The of lineup of {team2.TeamName}:" + "\n";
            foreach (var player in team2Squad)
            {
                Output += $"{player}" + "\n";
            }
            Events += "FULL TIME!!!";
            Events += "\n" + "\n";

            Output += "\n";
            Output += "KICK OFF!!!";
            Output += "\n";
            while (clock <= 90)
            {
                int eventOdds = rnd.Next(2, 51);
                if (clock == 45)
                {
                    Output += $"{clock} MINUTES" + "\n";
                    Output += "HALF TIME!!!" + "\n";
                    Output += "\n";
                    clock  += 1;
                }
                if (clock == 90)
                {
                    Output += $"{clock} MINUTES" + "\n";
                    Output += "FULL TIME!!!" + "\n";
                    Output += "\n";
                    clock  += 1;
                }
                if (Enumerable.Range(0, 7).Contains(eventOdds))
                {
                    Output += $"{clock} MINUTES" + "\n";
                    if (eventOdds < 4)
                    {
                        var result = ShotAttempt(team1Squad, team1);
                        Output += result.Item1;
                        Output += "\n";

                        if (result.Item3 == true)
                        {
                            team1goals += 1;
                            Events     += $"{result.Item2} ({team1.TeamName})   {clock}' ⚽" + "\n";
                        }
                    }
                    else
                    {
                        var result = ShotAttempt(team2Squad, team2);
                        Output += result.Item1;
                        Output += "\n";

                        if (result.Item3 == true)
                        {
                            team2goals += 1;
                            Events     += $"{result.Item2} ({team2.TeamName})   {clock}' ⚽" + "\n";
                        }
                    }
                    clock += 1;
                }
                else
                {
                    clock += 1;
                }
            }
            Score = $"{team1goals} - {team2goals}";

            using (var db = new FootballContext())
            {
                var getteam1stats =
                    db.TeamStatistics.Where(o => o.TeamId == team1.TeamId).FirstOrDefault();
                var getteam2stats =
                    db.TeamStatistics.Where(o => o.TeamId == team2.TeamId).FirstOrDefault();
                if (team1goals == team2goals)
                {
                    getteam1stats.Draws         += 1;
                    getteam2stats.Draws         += 1;
                    getteam1stats.GoalsScored   += team1goals;
                    getteam2stats.GoalsScored   += team2goals;
                    getteam1stats.GoalsConceded += team2goals;
                    getteam2stats.GoalsConceded += team1goals;
                }
                else if (team1goals > team2goals)
                {
                    getteam1stats.Wins          += 1;
                    getteam2stats.Losses        += 1;
                    getteam1stats.GoalsScored   += team1goals;
                    getteam2stats.GoalsScored   += team2goals;
                    getteam1stats.GoalsConceded += team2goals;
                    getteam2stats.GoalsConceded += team1goals;
                }
                else if (team1goals < team2goals)
                {
                    getteam2stats.Wins          += 1;
                    getteam1stats.Losses        += 1;
                    getteam1stats.GoalsScored   += team1goals;
                    getteam2stats.GoalsScored   += team2goals;
                    getteam1stats.GoalsConceded += team2goals;
                    getteam2stats.GoalsConceded += team1goals;
                }
                db.SaveChanges();
            }
            return(new Tuple <string, string, string>(Output, Score, Events));
        }
 public void Commit()
 {
     context.SaveChanges();
 }
示例#27
0
        public static void Initialize(FootballContext context)
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            if (!context.Lookups.Any())
            {
                Lookup[] lookups = new Lookup[] {
                    new Lookup {
                        SetName = "CSVHeader", Code = "Div", Value = "Competition", ShortValue = "Competition"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "Date", Value = "Date", ShortValue = "DateTime"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "Time", Value = "Time", ShortValue = "TimeSpan"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HomeTeam", Value = "HomeTeam", ShortValue = "Team"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AwayTeam", Value = "AwayTeam", ShortValue = "Team"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "FTHG", Value = "FullTimeHomeGoals", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "FTAG", Value = "FullTimeAwayGoals", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "FTR", Value = "FullTimeResult", ShortValue = "string"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HTHG", Value = "HalfTimeHomeGoals", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HTAG", Value = "HalfTimeAwayGoals", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "Referee", Value = "Referee", ShortValue = "string"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HS", Value = "HomeTeamShots", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AS", Value = "AwayTeamShots", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HST", Value = "HomeTeamShotsOnTarget", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AST", Value = "AwayTeamShotsOnTarget", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HF", Value = "HomeTeamFouls", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AF", Value = "AwayTeamFouls", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HC", Value = "HomeTeamCorners", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AC", Value = "AwayTeamCorners", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HY", Value = "HomeTeamYellowCards", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AY", Value = "AwayTeamYellowCards", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "HR", Value = "HomeTeamRedCards", ShortValue = "int"
                    },
                    new Lookup {
                        SetName = "CSVHeader", Code = "AR", Value = "AwayTeamRedCards", ShortValue = "int"
                    },
                };

                context.Lookups.AddRange(lookups);
            }

            if (!context.Countries.Any())
            {
                context.Countries.Add(
                    new Country()
                {
                    Code = "ENG",
                    Name = "England"
                }
                    );

                context.SaveChanges();
            }

            if (!context.Competitions.Any())
            {
                Country country = context.Countries.Where(c => c.Code == "ENG").FirstOrDefault();

                Competition[] competitions = new Competition[] {
                    new Competition {
                        Code = "E0", Name = "English Premier League", Country = country
                    },
                    new Competition {
                        Code = "E1", Name = "English Championship", Country = country
                    }
                };

                context.Competitions.AddRange(competitions);

                context.SaveChanges();
            }
        }
示例#28
0
 /// <summary>
 /// Aktualizacja danych rekordu
 /// </summary>
 /// <param name="entity"></param>
 public void Update(T entity)
 {
     _context.Entry(entity).CurrentValues.SetValues(entity);
     _context.SaveChanges();
 }
 public void SaveChanges()
 {
     context.SaveChanges();
 }
示例#30
0
        public void Update(Player player)
        {
            var getPlayer = _db.Player.FirstOrDefault(x => x.Id == player.Id);

            _db.SaveChanges();
        }