Exemple #1
0
        public void SerchingForOponentTeam(Team team)
        {
            CallBack cb = OperationContext.Current.GetCallbackChannel <CallBack>();

            cb.CallBackFunc("starting the serch");
            try
            {
                RunningTeamDictionary.Add(team, OperationContext.Current.GetCallbackChannel <CallBack>());
            }
            catch
            {
                RunningTeamDictionary.Remove(team);
                /// cb.CallBackFunc("starting failed please try again");
                RunningTeamDictionary.Add(team, OperationContext.Current.GetCallbackChannel <CallBack>());
            }
            try
            {
                if ((RunningTeamDictionary.Count > 0) && (RunningTeamDictionary.Count % 2 == 0))
                {
                    cb.CallBackFunc("oponent found");
                    Game game = new Game()
                    {
                        Team1     = RunningTeamDictionary.Keys.ElementAt(RunningTeamDictionary.Count - 2),
                        Team2     = team,
                        StartTime = DateTime.Now.ToString()
                    };
                    List <Player> pl = new List <Player>();
                    foreach (Player p in game.Team1.PlayersInTeam)
                    {
                        p.Color = "Red";
                        pl.Add(p);
                    }
                    foreach (Player p in game.Team2.PlayersInTeam)
                    {
                        p.Color = "Black";
                        pl.Add(p);
                    }

                    int gameID = whriteGameToDB(game);
                    game.Id = gameID;
                    foreach (Player p in pl)
                    {
                        TblPlayersGamesIn(game, p);
                    }


                    RunningTeamDictionary[game.Team1].sendTeamGame(game);
                    RunningTeamDictionary[game.Team2].sendTeamGame(game);
                }
            }
            catch (Exception ex) {
                cb.CallBackFunc(ex.ToString());
            }
        }
Exemple #2
0
        void IService2.LogIn(string name, string email)
        {
            CallBack callBack = OperationContext.Current.GetCallbackChannel <CallBack>();

            using (SqlConnection con = new SqlConnection(connectionString))
            {
                string     q   = "SELECT * FROM TblPlayers WHERE PlayerName = '" + name + "'" + "AND PlayerMail = '" + email + "'";
                SqlCommand cmd = new SqlCommand(q);//"SELECT * FROM TblPlayers");
                try
                {
                    string p = "dibug";
                    con.Open();
                    cmd.Connection = con;
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        p = reader["PlayerId"].ToString() + "@"
                            + reader["PlayerName"].ToString() + "@"
                            + reader["PlayerMail"].ToString();
                    }
                    callBack.sendPlayer(p);
                    con.Close();
                }
                catch (Exception ex)
                {
                    callBack.CallBackFunc("wrong username or password");
                }
            }
        }
Exemple #3
0
        void IService2.SerchingForOponent(string playerString)
        {
            CallBack cb = OperationContext.Current.GetCallbackChannel <CallBack>();

            cb.CallBackFunc("starting the serch");
            Player player = strToPlayer(playerString);

            try
            {
                RunningDictionary.Add(player, OperationContext.Current.GetCallbackChannel <CallBack>());
            }
            catch
            {
                RunningDictionary.Remove(player);
                /// cb.CallBackFunc("starting failed please try again");
                RunningDictionary.Add(player, OperationContext.Current.GetCallbackChannel <CallBack>());
            }
            try
            {
                if ((RunningDictionary.Count > 0) && (RunningDictionary.Count % 2 == 0))
                {
                    cb.CallBackFunc("oponent found");
                    Game game = new Game()
                    {
                        Player1   = RunningDictionary.Keys.ElementAt(RunningDictionary.Count - 2),
                        Player2   = player,
                        StartTime = DateTime.Now.ToString()
                    };
                    game.Player1.Color = "Red";
                    game.Player2.Color = "Black";


                    int    gameID     = whriteGameToDB(game);
                    string gameString = creatGameString(game);

                    RunningDictionary[game.Player1].sendGame(gameString);
                    RunningDictionary[game.Player2].sendGame(gameString);
                }
            }
            catch { }
        }
Exemple #4
0
        public void LogInTeam(string name)
        {
            int      id       = -1;
            CallBack callBack = OperationContext.Current.GetCallbackChannel <CallBack>();

            using (SqlConnection con = new SqlConnection(connectionString))
            {
                string     q   = "SELECT TeamId FROM TblTeams WHERE TeamName = '" + name + "'";
                SqlCommand cmd = new SqlCommand(q);//"SELECT * FROM TblPlayers");
                try
                {
                    con.Open();
                    cmd.Connection = con;
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        id = Int32.Parse(reader["TeamId"].ToString());
                    }
                    con.Close();

                    List <int> pIdList = new List <int>();
                    q   = "SELECT PlayerId FROM TblTeamPlayers WHERE TeamId = " + id;
                    cmd = new SqlCommand(q);
                    con.Open();
                    cmd.Connection = con;
                    reader         = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        pIdList.Add(Int32.Parse(reader["PlayerId"].ToString()));
                    }
                    List <Player> pList = new List <Player>();
                    foreach (int i in pIdList)
                    {
                        pList.Add(getPlayer(i));
                    }

                    Team team = new Team
                    {
                        Id            = id,
                        PlayersInTeam = pList,
                        TeamName      = name
                    };
                    callBack.sendTeam(team);
                }
                catch (Exception ex)
                {
                    callBack.CallBackFunc(ex.ToString());
                }
            }
        }