Пример #1
0
        public ActionResult List(Guid id)
        {
            User           user     = UserManager.LoadById(id);
            List <Bracket> brackets = BracketManager.Load().Where(b => b.Moderator.Id == user.Id || Authenticate.IsParticipant(b, user)).ToList();

            return(View(brackets));
        }
Пример #2
0
        public IActionResult GetTournamentBracket(int tournamentId)
        {
            var            gameFixture = _playedGamesService.GetPlayedGamesWithAllTablesByTournamentId(tournamentId);
            BracketManager bm          = new BracketManager(gameFixture);

            return(Json(bm.GenerateBracketObject()));
        }
Пример #3
0
        public ActionResult Edit(MatchBracket matchBracket)
        {
            try
            {
                User user = (User)Session["user"];
                matchBracket.Match = MatchManager.LoadById(matchBracket.MatchId);
                matchBracket.Match.ReportingPlayer = user;
                matchBracket.Match.Winner          = UserManager.LoadById(matchBracket.WinnerId);

                MatchManager.Update(matchBracket.Match);
                matchBracket.Bracket = BracketManager.LoadById(matchBracket.BracketId);

                if (matchBracket.Match.Winner != null)
                {
                    bool isDivisionOver = true;
                    for (int i = matchBracket.Bracket.GetFirstRoundOfDivision() - 1; i < matchBracket.Bracket.GetLastRoundOfDivision(); i++)
                    {
                        isDivisionOver = matchBracket.Bracket.SortedMatches[i].Winner != null;
                        //end the loop if any of the matches are not finished
                        if (isDivisionOver == false)
                        {
                            break;
                        }
                    }

                    if (isDivisionOver)
                    {
                        for (int i = matchBracket.Bracket.GetFirstRoundOfDivision() - 1; i < matchBracket.Bracket.GetLastRoundOfDivision(); i += 2)
                        {
                            Match match = new Match();
                            match.Round = (int)Math.Ceiling((double)matchBracket.Bracket.SortedMatches[i].Round / 2) + matchBracket.Bracket.OriginalRoundCount;
                            if (i + 1 == matchBracket.Bracket.GetLastRoundOfDivision())
                            {
                                match.Player1         = matchBracket.Bracket.SortedMatches[i].Winner;
                                match.ReportingPlayer = match.Player1;
                                match.Winner          = match.Player1;
                                match.Division        = matchBracket.Bracket.CurrentDivision + 1;
                            }
                            else
                            {
                                match.Player1  = matchBracket.Bracket.SortedMatches[i].Winner;
                                match.Player2  = matchBracket.Bracket.SortedMatches[i + 1].Winner;
                                match.Division = matchBracket.Bracket.CurrentDivision + 1;
                            }
                            matchBracket.Bracket.Matches.Add(match);
                            MatchManager.Insert(match, matchBracket.Bracket.Id);
                        }
                        matchBracket.Bracket.CurrentDivision++;
                        BracketManager.Update(matchBracket.Bracket);
                    }
                }
                return(RedirectToAction("Details", "Bracket", new { @id = matchBracket.BracketId }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
 public ActionResult Delete(Guid id)
 {
     if (Authenticate.IsAuthenticated())
     {
         return(View(BracketManager.LoadById(id)));
     }
     else
     {
         return(RedirectToAction("Login", "User", new { returnurl = HttpContext.Request.Url }));
     }
 }
Пример #5
0
        public MatchBracket(Match match)
        {
            Match   = match;
            Bracket = BracketManager.LoadById(Match.BracketId);
            List <User> users = new List <User>();

            users.Add(match.Player1);
            users.Add(match.Player2);
            Participants = users;
            MatchId      = Match.Id;
            BracketId    = Bracket.Id;
        }
Пример #6
0
 public ActionResult Delete(Bracket bracket)
 {
     try
     {
         // TODO: Add update logic here
         BracketManager.Delete(bracket.Id);
         return(RedirectToAction("Home"));
     }
     catch (Exception ex)
     {
         ViewBag.Message = ex.Message;
         return(View(bracket));
     }
 }
Пример #7
0
 public ActionResult Details(Guid id)
 {
     if (Authenticate.IsAuthenticated())
     {
         Bracket        b  = BracketManager.LoadById(id);
         BracketMatches bm = new BracketMatches(b, b.SortedMatches);
         bm.ViewingUser = (User)Session["user"];
         b.Matches.Where(m => m.Player2 == null).ForEach(m => m.Player2 = new BL.User());
         return(View("Details", bm));
     }
     else
     {
         return(RedirectToAction("Login", "User", new { returnurl = HttpContext.Request.Url }));
     }
 }
Пример #8
0
        public ActionResult Results(string searchterm)
        {
            SearchResults  sr         = new SearchResults();
            List <User>    allUsers   = UserManager.Load();
            List <Bracket> allBracket = BracketManager.Load();

            if (searchterm == null)
            {
                searchterm = "";
            }
            sr.SearchTerm = searchterm.ToLower();
            sr.Users      = allUsers.Where(u => u.FullName.ToLower().Contains(searchterm) || u.Username.ToLower().Contains(searchterm));
            sr.Brackets   = allBracket.Where(u => u.Name.ToLower().Contains(searchterm) || u.Game.ToLower().Contains(searchterm));
            if (sr.Users.Count() < 1 && sr.Brackets.Count() < 1)
            {
                ViewBag.Message = "There are no results found with that query";
            }
            return(View(sr));
        }
Пример #9
0
        public ActionResult Create(BracketFriends bracketFriends)
        {
            if (Authenticate.IsAuthenticated())
            {
                List <Guid> ids = bracketFriends.SelectedPlayerIds.ToList();


                Bracket bracket = bracketFriends.Bracket;
                if (bracketFriends.File != null)
                {
                    bracket.ImageSource = bracketFriends.File.FileName;
                    string target = Path.Combine(Server.MapPath("~/images"), Path.GetFileName(bracketFriends.File.FileName));

                    if (!System.IO.File.Exists(target))
                    {
                        bracketFriends.File.SaveAs(target);
                        ViewBag.Message = "File Uploaded Successfully";
                    }
                    else
                    {
                        ViewBag.Message = "File did not upload";
                    }
                }
                bracket.CurrentDivision = 1;
                bracket.Matches         = Helper.ObjectManipulation.DivideIntoMatches(ids);

                bracket.Moderator          = (User)Session["user"];
                bracket.OriginalRoundCount = bracket.Matches.Count;

                BracketManager.Insert(bracket);

                return(RedirectToAction("Details", new { @id = bracket.Id }));
            }
            else
            {
                return(RedirectToAction("Login", "User", new { returnurl = HttpContext.Request.Url }));
            }
        }
Пример #10
0
 private void Start()
 {
     var hud = GetComponentInParent<HUD>();
     bracketManager = hud.GetComponentInChildren<BracketManager>();
 }
Пример #11
0
 // GET: Bracket
 public ActionResult Index()
 {
     return(View(BracketManager.Load()));
 }