internal static void Add(Player p) { using (var db = new TournamentDB()) { db.Players.Add(p); db.SaveChanges(); } }
internal static int Add(Session s) { using (var db = new TournamentDB()) { db.Sessions.Add(s); db.SaveChanges(); } return(s.SessionID); }
internal static void Add(string nickname) { using (var db = new TournamentDB()) { db.Players.Add(new Player() { NickName = nickname }); db.SaveChanges(); } }
internal void AddPlayer(Player p) { using (var db = new TournamentDB()) { Session temp = db.Sessions.Find(SessionID); temp.Stripes.Add(new Stripe() { Player = db.Players.Find(p.PlayerID) }); db.SaveChanges(); } }
internal void AddRangePlayer(IEnumerable <Player> collection) { using (var db = new TournamentDB()) { foreach (Player p in collection) { Session temp = db.Sessions.Find(SessionID); temp.Stripes.Add(new Stripe() { Player = db.Players.Find(p.PlayerID) }); } db.SaveChanges(); } }
internal static int Add(DateTime date, string description) { int i = -1; using (var db = new TournamentDB()) { db.Sessions.Add(new Session() { StartDate = date, Description = description }); db.SaveChanges(); i = db.Sessions.ToList().Last().SessionID; } return(i); }
internal void GenerateMatchTable() { using (var db = new TournamentDB()) { foreach (dynamic item in GenerateMatches()) { Session temp = db.Sessions.Find(this.SessionID); temp.Matches.Add(new Match() { Player1 = db.Players.Find(item.p1), Player2 = db.Players.Find(item.p2) }); } db.SaveChanges(); } }
private void UpdateData() { using (var db = new TournamentDB()) { Player temp = db.Players.Find(this.PlayerID); var query = from stripe in db.Stripes where stripe.Player.PlayerID == temp.PlayerID select stripe; temp.TotalMatchesPlayed = query.Sum(s => s.GamesPlayed); temp.WinCount = query.Sum(s => s.Wins); temp.TotalGoalScored = query.Sum(s => s.GoalsScored); db.SaveChanges(); } }
internal int?NextMatch() { int?temp = null; using (var db = new TournamentDB()) { Session s = db.Sessions.Find(this.SessionID); var query = db.Matches.Where(m => m.Session.SessionID == s.SessionID).Where(m => m.IsFinished == false); if (query.Count() != 0) { temp = query.First().MatchID; } else { s.IsFinished = true; db.SaveChanges(); } } return(temp); }
internal static void MatchFinished(int matchId, int g1, int g2) { using (var db = new TournamentDB()) { var coll = db.Matches.ToList(); Match m = db.Matches.Find(matchId); m.P1Scored = g1; m.P2Scored = g2; m.IsFinished = true; Session temp = db.Matches.Where(mat => mat.MatchID == m.MatchID) .Select(mat => mat.Session) .First(); Player p1 = db.Matches.Where(mat => mat.MatchID == m.MatchID) .Select(mat => mat.Player1) .First(); Player p2 = db.Matches.Where(mat => mat.MatchID == m.MatchID) .Select(mat => mat.Player2) .First(); Stripe s1 = (from s in db.Stripes where s.Session.SessionID == m.Session.SessionID where s.Player.PlayerID == p1.PlayerID select s).First(); Stripe s2 = (from s in db.Stripes where s.Session.SessionID == m.Session.SessionID where s.Player.PlayerID == p2.PlayerID select s).First(); if (s1 == null | s2 == null) { throw new Exception("stripe is null"); //TO DELETE } if (g1 > g2) { s1.Wins++; s2.Loses++; } else if (g1 < g2) { s1.Loses++; s2.Wins++; } else { s1.Draws++; s2.Draws++; } s1.GamesPlayed++; s2.GamesPlayed++; s1.GoalsScored += g1; s1.GoalsMissed += g2; s2.GoalsScored += g2; s2.GoalsMissed += g1; db.SaveChanges(); p1.UpdateDataAsync(); p2.UpdateDataAsync(); } }