コード例 #1
0
        public ActionResult PickGames(BulkPickEditor bpe)
        {
            bpe.Player = db.Players.Find(bpe.PlayerId);
            var pgs = from g in db.Games.Where(q => q.Week == bpe.Week && q.Year == bpe.Year)
                        join p in db.Picks.Where(q => q.PlayerId == bpe.PlayerId) on g.Id equals p.GameId into j1
                        from j2 in j1.DefaultIfEmpty()
                        select new { Game = g, Pick = j2 };

            List<Pick> picks = new List<Pick>();

            foreach (var pg in pgs)
            {
                Pick pick = pg.Pick ?? new Pick();
                pick.GameId = pg.Game.Id;
                pick.Game = pg.Game;
                pick.PlayerId = bpe.PlayerId;
                pick.Player = bpe.Player;

                picks.Add(pick);

            }

            bpe.Picks = picks;

            return View(bpe);
        }
コード例 #2
0
        public ActionResult SubmitPicks(BulkPickEditor bpe)
        {
            if (ModelState.IsValid)
            {
                foreach (var pick in bpe.Picks)
                {
                    if (pick.Id != 0)
                    {
                        db.Entry(pick).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        db.Picks.Add(pick);
                    }
                }

                db.SaveChanges();
            }

            return RedirectToAction("Index");
        }