示例#1
0
        internal static void Edit(long facebookID, string firstName, string lastName)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            var curPlayer = (from p in dataContext.Players
                             where p.FacebookID == facebookID
                             select p).FirstOrDefault();

            curPlayer.FirstName = firstName;
            curPlayer.LastName = lastName;

            dataContext.SubmitChanges();
        }
示例#2
0
        internal static Player Create(long facebookID)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            Player newPlayer = new Player();

            newPlayer.FacebookID = facebookID;

            dataContext.Players.InsertOnSubmit(newPlayer);

            dataContext.SubmitChanges();

            return newPlayer;
        }
示例#3
0
        internal static Player Create(long facebookID, string firstName, string lastName)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            Player newPlayer = new Player();

            newPlayer.FacebookID = facebookID;
            newPlayer.FirstName = firstName;
            newPlayer.LastName = lastName;

            dataContext.Players.InsertOnSubmit(newPlayer);

            dataContext.SubmitChanges();

            return newPlayer;
        }
示例#4
0
        public static Game Create(int ChallengerID, int OpponentID)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            Game newGame = new Game();
            newGame.ChallengerID = ChallengerID;
            newGame.OpponentID = OpponentID;
            newGame.StartDate = DateTime.Now;

            newGame.GameState = Utils.GameState.Active.ToString();

            dataContext.Games.InsertOnSubmit(newGame);

            dataContext.SubmitChanges();

            return newGame;
        }
示例#5
0
        internal static bool PlayMove(int id, int player, Tuple<int, int> spot, out int? winner, out string message)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            var game = (from p in dataContext.Games where p.ID == id select p).FirstOrDefault();
            var gameRules = new GameRules();

            if (gameRules.HasPlayed(game, spot))
            {
                message = "Spot already played";
                winner = null;
                return false;
            }
            else
            {
                string move = spot.Item1 + ";" + spot.Item2 + ";" + String.Format("{0:g}", DateTime.Now) + ";false,";
                game.Moves = game.Moves ?? "";
                game.Moves += move;

                if (gameRules.IsFinished(game, out winner))
                {
                    winner = player;
                    game.WinnerID = winner;
                    game.GameState = Utils.GameState.Finished.ToString();
                }

                dataContext.SubmitChanges();

                message = "";

                return true;
            }
        }
示例#6
0
        internal static List<Game> GetActive(int id)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            return (from p in dataContext.Games where p.GameState.Equals(Utils.GameState.Active.ToString()) && (p.OpponentID == id || p.ChallengerID == id) select p).ToList();
        }
示例#7
0
        internal static Game GetActive(int ID1, int ID2)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            return (from p in dataContext.Games where p.GameState.Equals(Utils.GameState.Active.ToString()) && ((p.OpponentID == ID1 && p.ChallengerID == ID2) || (p.ChallengerID == ID1 && p.OpponentID == ID2)) select p).FirstOrDefault();
        }
示例#8
0
        internal static Game Get(int id)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            return (from p in dataContext.Games where p.ID == id select p).FirstOrDefault();
        }
示例#9
0
        public void setAppRequest(long appRequest)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            var curGame = (from p in dataContext.Games
                           where p.ID == this.ID
                           select p).FirstOrDefault();

            curGame.CurAppRequest = appRequest;

            dataContext.SubmitChanges();
        }
示例#10
0
        internal static Player GetByID(long ID)
        {
            PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext();

            return (from p in dataContext.Players where p.ID == ID select p).FirstOrDefault();
        }