Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
        }
Пример #4
0
        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);
        }