protected void GridGames_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "ViewGame") { GridGames.SelectedIndex = int.Parse(e.CommandArgument.ToString()); GridGames.DataBind(); Response.Redirect("Game.aspx?GameId=" + GridGames.SelectedDataKey.Value); } else if (e.CommandName == "DeleteGame") { GridGames.SelectedIndex = int.Parse(e.CommandArgument.ToString()); GridGames.DataBind(); using (var db = new JaipurEntities()) { User logged = (Session["User"] as User); var gameId = int.Parse(GridGames.SelectedDataKey.Value.ToString()); var game = db.Game.FirstOrDefault(g => g.Id == gameId); var data = new GameData(game); data.MarkAsDeleted(logged); db.SaveChanges(); } Response.Redirect("Default.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new JaipurEntities()) { User logged = (Session["User"] as User); if (logged != null) { Random rng = new Random(DateTime.Now.Millisecond); List <User> users = db.User.OrderByDescending((u) => u.Coins).ToList <User>(); GridUsers.DataSource = users; GridUsers.DataBind(); try { var dbGames = from game in db.Game.Where(g => g.EnemyId == logged.Id || g.ChallengerId == logged.Id).ToList() select new GameData(game); var games = from game in dbGames let enemy = game.GetEnemyData(logged) where !game.IsDeleted(logged) select new RunningGameInfo { GameId = game.Id, EnemyLogin = enemy.User.Name, EnemyEmail = enemy.User.Email, GameStatus = game.GetStatus(logged) }; GridGames.DataSource = games.ToList(); GridGames.DataBind(); } catch { } } } }