public TeamDetailViewModel TeamDetails(int id)
        {
            var team    = this.teamRepository.All().Where(t => t.Id == id).FirstOrDefault();
            var matches = this.matchRepository.All()
                          .Where(m => m.HomeTeamId == team.Id || m.AwayTeamId == team.Id).ToList();

            foreach (var match in matches)
            {
                team.Matches.Add(match);
            }

            var teamModel = new TeamDetailViewModel
            {
                Id      = team.Id,
                Name    = team.Name,
                Matches = team.Matches.Select(m => new MatchDetailViewModel
                {
                    HomeGoals  = m.HomeGoals,
                    AwayGoals  = m.AwayGoals,
                    HomeName   = this.teamRepository.All().Where(t => t.Id == m.HomeTeamId).Select(t => t.Name).FirstOrDefault(),
                    AwayName   = this.teamRepository.All().Where(t => t.Id == m.AwayTeamId).Select(t => t.Name).FirstOrDefault(),
                    GameweekId = m.GameweekId,
                }).OrderBy(m => m.GameweekId),
            };

            return(teamModel);
        }
        /// <summary>
        /// HttpGet method for viewing team detail.
        /// </summary>
        /// <param name="id"></param>
        /// <returns>View and viewmodel</returns>
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var team = await _context.Team
                       .FirstOrDefaultAsync(m => m.teamId == id);

            if (team == null)
            {
                return(NotFound());
            }

            if (HttpContext.Session.GetString("isRegistered") == "No")
            {
                ViewData["ShowButton"] = true;
            }

            if (HttpContext.Session.GetString("isRegistered") == "Yes")
            {
                ViewData["ShowButton"] = false;
            }


            TeamDetailViewModel viewModel = await GetTeamDetailViewModelFromTeam(team);

            return(View(viewModel));
        }
Пример #3
0
        public TeamDetailPage()
        {
            int id = 1319465;

            InitializeComponent();
            BindingContext = viewModel = new TeamDetailViewModel(id, null);
        }
Пример #4
0
        public TeamDetailView(Team team, Tab startTab)
        {
            InitializeComponent();

            MainTabControl.SelectedIndex = (int)startTab;
            DataContext = new TeamDetailViewModel(team);
        }
        public TeamDetailPage()
        {
            InitializeComponent();

            var item = new Team
            {
                Number = "0001",
                Name   = "Team Name"
            };

            viewModel      = new TeamDetailViewModel(item);
            BindingContext = viewModel;
        }
        /// <summary>
        /// Set the team and user list for viewmodel
        /// </summary>
        /// <param name="team"></param>
        /// <returns>viewmodel</returns>
        private async Task <TeamDetailViewModel> GetTeamDetailViewModelFromTeam(Team team)
        {
            TeamDetailViewModel viewModel = new TeamDetailViewModel();

            viewModel.Team = team;

            List <RegisteredUser> users = await _context.TeamRegisteredUsers.Include(u => u.RelatedUser)
                                          .Where(m => m.RelatedTeam == team).ToListAsync();

            viewModel.RegisteredUsers = users;

            return(viewModel);
        }
Пример #7
0
        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 async Task <IActionResult> Details(TeamDetailViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Team team = await _context.Team
                            .SingleOrDefaultAsync(m => m.teamId == viewModel.TeamID);

                if (team == null)
                {
                    return(NotFound());
                }

                string userid = HttpContext.Session.GetString("tempUserId");

                if (userid == null)
                {
                    return(NotFound());
                }

                RegisteredUser user = new RegisteredUser();

                ApplicationUser tempuser = await _context.Users.SingleOrDefaultAsync(m => m.Id == userid);

                tempuser.RelatedTeam = team;

                user.RelatedTeam     = tempuser.RelatedTeam;
                user.RelatedUser     = tempuser;
                user.Firstname       = tempuser.Firstname;
                user.Surname         = tempuser.Surname;
                user.FullName        = tempuser.FullName;
                user.RelatedTeamName = team.teamName;

                user.isRegistered     = "Yes";
                tempuser.isRegistered = "Yes";
                //Add the comments to the database.
                _context.TeamRegisteredUsers.Add(user);
                await _context.SaveChangesAsync();

                viewModel = await GetTeamDetailViewModelFromTeam(team);
            }
            return(View(viewModel));
        }
Пример #9
0
        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));
        }
Пример #10
0
        public TeamDetailsPage(string eventKey, Team item)
        {
            InitializeComponent();

            BindingContext = viewModel = new TeamDetailViewModel(eventKey, item);
        }
        public TeamDetailPage(TeamDetailViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = this.viewModel = viewModel;
        }
Пример #12
0
 public TeamPage()
 {
     InitializeComponent();
     BindingContext = new TeamDetailViewModel();
 }
Пример #13
0
 public TeamDetailPage(Team team)
 {
     InitializeComponent();
     BindingContext = viewModel = new TeamDetailViewModel(team);
 }
Пример #14
0
 public TeamDetailPage(int id, Club club)
 {
     InitializeComponent();
     BindingContext = viewModel = new TeamDetailViewModel(id, club);
 }
Пример #15
0
        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 }));
        }