public ActionResult LevelUpFinal(PlayerViewModel model)
        {
            var player = unitOfWork.PlayerRepository.GetByID(model.playerid);
            var team = unitOfWork.TeamRepository.GetByID(player.Team);
            Boolean err = false;
            int val = 0;
            switch (model.selectLUMode)
            {
                case "skillmode":
                    var skill = new PlayerSkills()
                    {
                        Player = player.ID,
                        Skill = (Skills)model.SelectedSkillID
                    };
                    val = 20000;
                    foreach (var grp in player.PlayerTypes.TypeGroups)
                        if (grp.SkillGroup == Math.Floor((double)model.SelectedSkillID / 100) && grp.IsDouble == 1)
                            val = 30000;
                    unitOfWork.PlayerSkillRepository.Insert(skill);
                    break;
                case "statmode":
                    switch (model.selectStat)
                    {
                        case "str":
                            player.ST += 1;
                            val = 50000;
                            break;
                        case "agi":
                            player.AG += 1;
                            val = 40000;
                            break;
                        case "arm":
                            player.AV += 1;
                            val = 30000;
                            break;
                        case "mov":
                            player.MA += 1;
                            val = 30000;
                            break;
                        default:
                            AddApplicationMessage("Chyba při level-upu.", MessageSeverity.Danger);
                            err = true;
                            break;
                    }
                    break;
                default:
                    AddApplicationMessage("Chyba při level-upu.", MessageSeverity.Danger);
                    err = true;
                    break;
            }
            if (!err)
            {
                player.Value += val;
                player.Level += 1;
                team.Value += val;

                unitOfWork.TeamRepository.Update(team);
                unitOfWork.PlayerRepository.Update(player);
                unitOfWork.Save();
                AddApplicationMessage("Hráč byl úspěšně odlevlen", MessageSeverity.Success);
            }

            return RedirectToAction("Detail", "Team", new { teamid = player.Team});
        }
        public ActionResult LevelUp(int? roll1, int? roll2, int? playerId)
        {
            if (playerId == null)
            {
                AddApplicationMessage("Neudáno ID hráče", MessageSeverity.Success);
                return Redirect(Request.UrlReferrer.ToString());
            }

            Players player = unitOfWork.PlayerRepository.GetByID(playerId);

            if (player == null)
            {
                AddApplicationMessage("Hráč nebyl nalezen", MessageSeverity.Success);
                return Redirect(Request.UrlReferrer.ToString());
            }

            var model = new PlayerViewModel()
            {
                player = player,
                roll1 = roll1,
                roll2 = roll2
            };

            var skills = from Skills s in Enum.GetValues(typeof(Skills)) select new { ID = (int)s, Name = s.ToString() };
            var fskills = skills.Except(skills).ToList();
            fskills.Add(new { ID = 0, Name = "-- vyberte skill --" });

            var availablegroups = unitOfWork.TypeGroupRepository.Get(filter: tg => tg.PlayerType == player.PlayerTypes.ID);
            foreach (var agrp in availablegroups)
            {
                foreach(var skill in skills)
                {
                    if (Math.Floor((double)skill.ID/100) == agrp.SkillGroup
                        && ((agrp.IsDouble == 1 && (roll1 == roll2)) || agrp.IsDouble == 0)
                        && player.PlayerSkills.All(ps => (int)ps.Skill != skill.ID))
                    {
                        fskills.Add(skill);
                    }
                }
            }

            model.skills = new SelectList(fskills, "ID", "Name");

            return View(model);
        }