public static void DeletePlayer(string Name, string LastName, string City, DateTime DOB) { var context = new PokerPlayersContext(); var player = from p in context.Players where p.PlayerName == (Name ?? p.PlayerName) where p.Surname == (LastName ?? p.Surname) where p.City.CityName == (City ?? p.City.CityName) where p.DOB == (DOB == default(DateTime)?p.DOB:DOB) select p; foreach (var p in player) { context.Players.Remove(p); } context.SaveChanges(); }
public static List <DataBase> GetPlayers(string Name = null, string LastName = null, string City = null, DateTime date = default(DateTime), List <DataBaseTournament> tourn = null) { Name = (string.IsNullOrWhiteSpace(Name) ? null : Name); LastName = (string.IsNullOrWhiteSpace(LastName) ? null : LastName); City = (string.IsNullOrWhiteSpace(City) ? null : City); var context = new PokerPlayersContext(); var players = from p in context.Players where p.PlayerName == (Name ?? p.PlayerName) where p.Surname == (LastName ?? p.Surname) where p.DOB == (date == default(DateTime) ? p.DOB : date) where p.City.CityName == (City ?? p.City.CityName) select p; List <DataBase> list = new List <DataBase>(); foreach (var player in players) { DataBase db = new DataBase(); db.Name = player.PlayerName; db.LastName = player.Surname; db.City = player.City.CityName; db.DOB = player.DOB; db.Image = player.Image; db.DateOfBirth = db.DOB.Date.ToShortDateString(); if (tourn == null) { list.Add(db); } else { bool ok = true; foreach (var t in tourn) { if (!(t.Players.Exists(p => p.DateOfBirth == db.DateOfBirth && p.City == db.City && p.DOB == db.DOB && p.LastName == db.LastName && p.Name == db.Name))) { ok = false; break; } } if (ok) { list.Add(db); } } } return(list); }
public static void SavePlayer(string Name, string LastName, string City, DateTime DOB, List <DataBaseTournament> Tournaments, string Image = "D:\\PhotosPokerPlayer\\noname.png") { var pl = DataBase.GetPlayers(Name, LastName, City, DOB, Tournaments); if (pl.Count != 0) { return; } var context = new PokerPlayersContext(); var cities = context.Cities.Where(p => p.CityName == City); City city; if (cities.Count() == 0) { city = context.Cities.Add(new City { CityName = City }); } else { city = cities.Single(); } HashSet <Tournament> tournaments = new HashSet <Tournament>(); int len; int [] places; if (Tournaments != null) { len = Tournaments.Count; places = new int[len]; } else { places = null; } if (Tournaments == null) { tournaments = null; } else { int i = 0; foreach (var T in Tournaments) { Tournament t = context.Tournaments.Where(p => p.TournamentName == T.TournamentName).Single(); if (T.Place == null) { places[i++] = -1; } else { places[i++] = Int32.Parse(T.Place); } tournaments.Add(t); } } Player player = context.Players.Add(new Player { PlayerName = Name, Surname = LastName, City = city, DOB = DOB, Image = Image, RegistrationDate = DateTime.Now }); var tournPl = context.TournamentPlayers; ICollection <TournamentPlayer> TP = new HashSet <TournamentPlayer>(); if (tournaments != null) { int i = 0; foreach (var t in tournaments) { TournamentPlayer tp; if (places[i] != -1) { tp = context.TournamentPlayers.Add(new TournamentPlayer { Player = player, Tournament = t, Place = places[i++] }); } else { tp = context.TournamentPlayers.Add(new TournamentPlayer { Player = player, Tournament = t }); i++; } TP.Add(tp); } player.TournamentPlayers = TP; } context.SaveChanges(); }
public static List <DataBaseTournament> GetTourtnaments(int payment = 0, bool isOnline = false, DateTime date = default(DateTime), string city = null, string organization = null, string name = null, string winRation = null) { name = (string.IsNullOrWhiteSpace(name) ? null : name); organization = (string.IsNullOrWhiteSpace(organization) ? null : organization); city = (string.IsNullOrWhiteSpace(city) ? null : city); winRation = (string.IsNullOrWhiteSpace(winRation) ? null : winRation); var context = new PokerPlayersContext(); var tournaments = from p in context.Tournaments where p.TournamentName == (name ?? p.TournamentName) where p.Organization.OrganizationName == (organization ?? p.Organization.OrganizationName) where p.Date == (date == default(DateTime) ? p.Date : date) where p.City.CityName == (city ?? p.City.CityName) where p.IsOnline == isOnline where p.Payment >= (payment == 0?p.Payment:payment) where p.WinRatio == (winRation ?? p.WinRatio) select p; List <DataBaseTournament> list = new List <DataBaseTournament>(); foreach (var tournament in tournaments) { DataBaseTournament db = new DataBaseTournament(); db.TournamentName = tournament.TournamentName; db.Organization = tournament.Organization.OrganizationName; db.City = tournament.City.CityName; db.Date = tournament.Date; db.Payment = tournament.Payment; db.WinRatio = tournament.WinRatio; db.IsOnline = tournament.IsOnline; db.DATE = db.Date.ToShortDateString(); var tourPl = context.TournamentPlayers.Where(p => p.TournamentId == tournament.TournamentId); List <DataBase> listDataBase = new List <DataBase>(); int maxPlace = 0; int countPl = 0; foreach (var a in tourPl) { countPl++; var player = a.Player; DataBase DatB = new DataBase(); DatB = DatB.ToDataBase(player); if (a.Place != null) { maxPlace = Math.Max((int)a.Place, maxPlace); if (a.Place == 1) { db.FirstPlace = DatB; } else if (a.Place == 2) { db.SecondPlace = DatB; } else if (a.Place == 3) { db.ThirdPlace = DatB; } } listDataBase.Add(DatB); } db.CountPlayers = countPl; db.CountPlace = maxPlace; db.Players = listDataBase; db.isChecked = false; list.Add(db); } return(list); }