コード例 #1
0
        public ActionResult EditGoalKeeper(int managerId, int[] teamIds, int[] teamSubs)
        {
            if (teamSubs == null)
            {
                teamSubs = new int[0];
            }

            var manager = db.Managers.Include(x => x.GoalKeepers).Where(x => x.ManagerId == managerId).FirstOrDefault();

            if (manager != null)
            {
                var selectedTeams = new HashSet <int>(teamIds.Where(x => x != 0));
                var currentTeams  = new HashSet <int>(manager.GoalKeepers.Select(x => x.TeamId));

                foreach (var currentTeam in currentTeams)
                {
                    if (!selectedTeams.Contains(currentTeam))
                    {
                        db.ManagerGoalKeepers.Remove(manager.GoalKeepers.Where(x => x.TeamId == currentTeam).FirstOrDefault());
                    }
                }

                foreach (var selectedTeam in selectedTeams)
                {
                    if (!currentTeams.Contains(selectedTeam))
                    {
                        ManagerGoalKeeper managerGoalKeeper = new ManagerGoalKeeper(selectedTeam, managerId);
                        db.ManagerGoalKeepers.Add(managerGoalKeeper);
                    }
                }

                var selectedSubs = new HashSet <int>(teamSubs.Where(x => x != 0));
                var currentSubs  = new HashSet <int>(manager.GoalKeepers.Where(x => x.Substitute).Select(x => x.TeamId));

                foreach (var currentSub in currentSubs)
                {
                    if (!selectedSubs.Contains(currentSub))
                    {
                        ManagerGoalKeeper managerGoalKeeper = manager.GoalKeepers.Where(x => x.TeamId == currentSub).FirstOrDefault();
                        managerGoalKeeper.ToggleSubstitute();
                    }
                }

                foreach (var selectedSub in selectedSubs)
                {
                    if (!currentSubs.Contains(selectedSub))
                    {
                        ManagerGoalKeeper managerGoalKeeper = manager.GoalKeepers.Where(x => x.TeamId == selectedSub).FirstOrDefault();
                        managerGoalKeeper.ToggleSubstitute();
                    }
                }
            }

            db.SaveChanges();

            return(Content("Ok"));
        }
コード例 #2
0
 public ResultsSheetGoalKeeper(ManagerGoalKeeper goalKeeper)
 {
     GoalKeeper = goalKeeper;
 }