// GET: Players/Delete/5
        public ActionResult Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            var query = (from player in db.Players.Where(m => m.IsDelete == false)
                         join team in db.Teams on player.TeamID equals team.ID
                         select new { player, team.Name }).Where(m => m.player.ID == id).First();

            PlayersViewModel playersVM = new PlayersViewModel();
            playersVM.player = query.player;
            playersVM.TeamName = query.Name;

            if (playersVM == null)
            {
                return HttpNotFound();
            }
            return View(playersVM);
        }
        public ActionResult Edit(PlayersViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Player player = new Player();
                player = viewModel.player;

                db.Entry(player).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(viewModel);
        }
        // GET: Players
        public ActionResult Index()
        {
            var query = from p in db.Players.Where(m => m.IsDelete == false)
                        join t in db.Teams on p.TeamID equals t.ID
                        select new { p , t.Name };

            List<PlayersViewModel> list = new List<PlayersViewModel>();
            foreach (var q in query)
            {
                PlayersViewModel playersVM = new PlayersViewModel();
                playersVM.player = q.p;
                playersVM.TeamName = q.Name;

                list.Add(playersVM);
            }

            return View(list);
        }
        // GET: Players/Edit/5
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            Player playerData = db.Players.Find(id);
            if (playerData == null)
            {
                return HttpNotFound();
            }

            //建立下拉選單方法1-資料來源:Team資料表
            List<SelectListItem> items = new List<SelectListItem>();    //下拉選單容器
            var query = db.Teams.Where(p => p.IsDelete == false);       //資料來源
            foreach (var q in query)
            {
                items.Add(new SelectListItem
                {
                    Text = q.Name,
                    Value = q.ID.ToString(),
                    Selected = q.ID.Equals(playerData.TeamID)
                });
            }
            ViewBag.TeamSelectListItem = items;   //將做好的下拉選單打包給ViewBag做前後台的傳遞

            //建立下拉選單方法2-資料來源:Team資料表
            SelectList selectlist = new SelectList(query,"ID","Name", playerData.TeamID);
            ViewBag.TeamSelectList = selectlist;

            //建立下拉選單方法3-將資料塞到ViewModel
            SelectList DDL_TeamList = new SelectList(query, "ID", "Name",playerData.TeamID);
            PlayersViewModel viewModel = new PlayersViewModel()
            {
                player = playerData,
                TeamList = DDL_TeamList
            };

            return View(viewModel);
        }