public GameModel NewGame(GameModel item)
        {
            GameModel ret = new GameModel();

            using (ADayInTheLifeEntities db = new ADayInTheLifeEntities())
            {
                try
                {
                    if (item.GameId == 0)
                    {
                        if (item.PlayerNames.Count > 0)
                        {
                            Game game = new Game()
                            {
                                Players = item.Players,
                                WinCondition1 = item.WinCondition1,
                                WinCondition2 = item.WinCondition2,
                                WinCondition3 = item.WinCondition3,
                                WinCondition4 = item.WinCondition4
                            };

                            db.Games.Add(game);
                            db.SaveChanges();

                            List<int> used = new List<int>();

                            foreach (String name in item.PlayerNames)
                            {
                                //Check for existing Id:
                                int id = db.Players.Where(o => o.PlayerName.Equals(name)).Select(o => o.PlayerId).FirstOrDefault();

                                if (id == 0)
                                {
                                    Player p = new Player()
                                    {
                                        PlayerName = name
                                    };

                                    db.Players.Add(p);
                                    db.SaveChanges();

                                    id = p.PlayerId;
                                }

                                Random r = new Random(game.Players);

                                int position = (int)r.Next(game.Players);

                                while ((position < 0 || position > game.Players) || used.Contains(position))
                                {
                                    position = (int)r.Next(game.Players);
                                }

                                used.Add(position);

                                PlayerInGame pig = new PlayerInGame()
                                {
                                    GameId = game.GameId,
                                    PlayerId = id,
                                    PlayerPosition = position
                                };

                                db.PlayerInGames.Add(pig);
                                db.SaveChanges();
                            }

                            ret = new GameModel()
                            {
                                GameId = game.GameId,
                                Players = game.Players,
                                WinCondition1 = game.WinCondition1,
                                WinCondition2 = game.WinCondition2,
                                WinCondition3 = game.WinCondition3,
                                WinCondition4 = game.WinCondition4
                            };
                        }
                    }
                }
                catch (Exception e)
                {
                    //TODO: Log this.
                }
            }

            return ret;
        }
        public GameModel NewGame(GameModel item)
        {
            GameModel ret = null;

            using (ADayInTheLifeEntities db = new ADayInTheLifeEntities())
            {
                try
                {
                    Game g = new Game()
                    {
                        Players = item.Players,
                        WinCondition1 = item.WinCondition1,
                        WinCondition2 = item.WinCondition2,
                        WinCondition3 = item.WinCondition3,
                        WinCondition4 = item.WinCondition4,
                        CurrentTurn = item.CurrentTurn
                    };

                    db.Games.Add(g);
                    db.SaveChanges();

                    ret = new GameModel()
                    {
                        Players = g.Players,
                        WinCondition4 = g.WinCondition4,
                        WinCondition3 = g.WinCondition3,
                        WinCondition2 = g.WinCondition2,
                        WinCondition1 = g.WinCondition1,
                        CurrentTurn = g.CurrentTurn ?? 0
                    };
                }
                catch (Exception e)
                {
                    //TODO: Log This.
                }
            }

            return ret;
        }