public bool UpdatePlayerGameBet(PlayerGameBetEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .PlayerGameBets
                    .Single(e => e.BaseId == model.BaseId && e.OwnerId == _userId);

                entity.Sport      = model.Sport;
                entity.League     = model.League;
                entity.PlayerName = model.PlayerName;
                entity.PlayerTeam = model.PlayerTeam;
                entity.PlayerPick = model.PlayerPick;

                return(ctx.SaveChanges() == 1);
            }
        }
        public ActionResult Edit(int id, PlayerGameBetEdit model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.BaseId != id)
            {
                ModelState.AddModelError("", "Player ID Mismatch");
                return(View(model));
            }

            var service = CreatePlayerGameBetService();

            if (service.UpdatePlayerGameBet(model))
            {
                TempData["SaveResult"] = "Your bet was updated";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Your bet could not be updated");
            return(View(model));
        }
        public ActionResult Edit(int id)
        {
            var service = CreatePlayerGameBetService();
            var detail  = service.GetPlayerGameBetById(id);

            if (detail.GetType() == typeof(PlayerGameBetDetail))
            {
                var some  = (PlayerGameBetDetail)detail;
                var model =
                    new PlayerGameBetEdit
                {
                    BaseId     = some.BaseId,
                    Sport      = some.Sport,
                    League     = some.League,
                    PlayerName = some.PlayerName,
                    PlayerTeam = some.PlayerTeam,
                    PlayerPick = some.PlayerPick,
                    Odds       = some.Odds,
                    AmountBet  = some.AmountBet,
                };
                return(View(model));
            }
            else if (detail.GetType() == typeof(TeamSeasonBetDetail))
            {
                var some  = (TeamSeasonBetDetail)detail;
                var model =
                    new TeamSeasonBetEdit
                {
                    BaseId    = some.BaseId,
                    Sport     = some.Sport,
                    League    = some.League,
                    Team      = some.Team,
                    TeamPick  = some.TeamPick,
                    Odds      = some.Odds,
                    AmountBet = some.AmountBet
                };
                return(View(model));
            }
            else if (detail.GetType() == typeof(SingleGameBetDetail))
            {
                var some  = (SingleGameBetDetail)detail;
                var model =
                    new SingleGameBetEdit
                {
                    BaseId    = some.BaseId,
                    Sport     = some.Sport,
                    League    = some.League,
                    HomeTeam  = some.HomeTeam,
                    AwayTeam  = some.AwayTeam,
                    GamePick  = some.GamePick,
                    Odds      = some.Odds,
                    AmountBet = some.AmountBet
                };
                return(View(model));
            }
            else
            {
                return
                    (null);
            }
        }