public ActionResult DetailForPrint(int? teamid) { if (teamid == null) { ViewBag.Message = "Id týmu nebylo uvedeno."; return View(); } TeamDetailViewModel model = new TeamDetailViewModel(); model.Team = unitOfWork.TeamRepository .Get( filter: t => (t.ID == teamid && t.Status == Status.Active), includeProperties: "Users,Players") .FirstOrDefault(); model.TeamId = model.Team.ID; return View(model); }
public ActionResult Add(TeamDetailViewModel model) { model.Team = unitOfWork.TeamRepository.GetByID(model.TeamId); if (User.Identity.Name != model.Team.Users.Name && User.IsInRole("Common")) { AddApplicationMessage("Na tuto akci nemáte oprávnění", MessageSeverity.Warning); return Redirect(Request.UrlReferrer.ToString()); } var playerTypes = unitOfWork.PlayerTypeRepository.Get(filter: pt => pt.Race == model.Team.Race).ToList(); model.playertypes = new SelectList(playerTypes, "ID", "Name"); var selectedType = playerTypes.First(pt => pt.ID == model.SelectedPlayerTypeId); if (selectedType.Value > model.Team.Treasury) { ModelState.AddModelError("Treasury", "Team nemá dostatek peněz na nákup."); } if (model.Team.Players.Count(p => (p.Type == model.SelectedPlayerTypeId && p.Status == Status.Active)) >= selectedType.Limit) { ModelState.AddModelError("Limit", "Team dosáhl limitu hráčů tohoto typu v rosteru."); } if (!ModelState.IsValid) { model.AddNewPlayerErrors = new List<string>(); foreach (ModelState modelState in ModelState.Values) { foreach (ModelError error in modelState.Errors) { model.AddNewPlayerErrors.Add(error.ErrorMessage); } } model.viewAddPlayerModal = true; return View("../Team/Detail", model); } var newPlayer = new Players() { Team = model.Team.ID, Type = model.SelectedPlayerTypeId, Name = model.NewPlayerName, Number = model.PlayerNumber, MA = selectedType.MA, ST = selectedType.ST, AG = selectedType.AG, AV = selectedType.AV, Value = selectedType.Value, CAS = 0, COMP = 0, INT = 0, Kills = 0, MNG = 0, MVP = 0, NI = 0, SPP = 0, TD = 0, Journeyman = 0, Level = 0, Status = Status.Active }; if (selectedType.Skillset != null) { var typeskills = selectedType.Skillset.Split('|').ToList(); foreach (var ts in typeskills) newPlayer.PlayerSkills.Add(new PlayerSkills() { Skill = (Skills)Enum.Parse(typeof(Skills), ts), Player = newPlayer.ID }); } model.Team.Treasury -= selectedType.Value; model.Team.Value += selectedType.Value; unitOfWork.TeamRepository.Update(model.Team); unitOfWork.PlayerRepository.Insert(newPlayer); unitOfWork.Save(); AddApplicationMessage("Hráč byl přidán", MessageSeverity.Success); return RedirectToAction("Detail", "Team", new { teamid = model.TeamId }); }
public ActionResult Detail(int? teamid) { if (teamid == null) { ViewBag.Message = "Id týmu nebylo uvedeno."; return RedirectToAction("Error","Home"); } TeamDetailViewModel model = new TeamDetailViewModel(); model.Team = unitOfWork.TeamRepository .Get( filter: t => (t.ID == teamid && t.Status == Status.Active), includeProperties: "Users,Players") .FirstOrDefault(); model.TeamId = model.Team.ID; var playerTypes = unitOfWork.PlayerTypeRepository.Get(filter: pt => pt.Race == model.Team.Race).ToList(); model.playertypes = new SelectList(playerTypes, "ID", "Name"); return View(model); }