Esempio n. 1
0
 public MainPage()
 {
     this.InitializeComponent();
     dms = new List <DataModel>();
     bvm = new BracketViewModel();
     init();
 }
Esempio n. 2
0
        public EnterCredentials()
        {
            this.InitializeComponent();
            this.DataContextChanged += (s, e) => this.Bindings.Update();

            bvm = new BracketViewModel();
            init();
        }
Esempio n. 3
0
        public ActionResult ViewBracket(int tournamentId, string bracketName)
        {
            Bracket bracket = null;

            try
            {
                bracket = new Bracket(tournamentId, bracketName); //this doesn't exist but building a bracketshould only get sets from one bracket
            } catch (SingleElimNotSupportedException e) {
                var errorVm = new BracketViewModel(null, null, bracketName, "Single elimination tournaments are not currently supported, sorry.");
                return(PartialView(errorVm));
            }
            var winnersGrid = buildBracketGrid(bracket.winnersBracket, "right");
            var losersGrid  = buildBracketGrid(bracket.losersBracket, "right");
            var vm          = new BracketViewModel(winnersGrid, losersGrid, bracketName, null);

            return(PartialView(vm));
        }
Esempio n. 4
0
        public void UpdateBrackets()
        {
            int updates = Math.Max(viewModel.BracketData.Count, Model.Brackets.Count);
            List <BracketModel> updatedBrackets = new List <BracketModel>();

            for (int i = 0; i < updates; i++)
            {
                BracketViewModel newBracket   = viewModel.BracketData.ElementAtOrDefault(i);
                BracketModel     bracketModel = Model.Brackets.ElementAtOrDefault(i);
                //List<TournamentUsersBracketModel> users = new List<TournamentUsersBracketModel>();

                if (newBracket != null)
                {
                    if (bracketModel != null)
                    {
                        // We just need to update the data
                        bracketModel.BracketTypeID        = newBracket.BracketTypeID;
                        bracketModel.MaxRounds            = newBracket.NumberOfRounds;
                        bracketModel.NumberOfGroups       = newBracket.NumberOfGroups;
                        bracketModel.NumberPlayersAdvance = newBracket.NumberPlayersAdvance;

                        updatedBrackets.Add(bracketModel);
                        //services.Tournament.UpdateBracket(bracketModel);
                    }
                    else if (bracketModel == null)
                    {
                        // We need to add this bracket
                        bracketModel = new BracketModel()
                        {
                            MaxRounds            = newBracket.NumberOfRounds,
                            BracketTypeID        = newBracket.BracketTypeID,
                            NumberOfGroups       = newBracket.NumberOfGroups,
                            NumberPlayersAdvance = newBracket.NumberPlayersAdvance,
                            Finalized            = false,
                            TournamentID         = Model.TournamentID
                        };

                        updatedBrackets.Add(bracketModel);
                        //services.Tournament.AddBracket(bracketModel);
                    }
                }
            }

            Model.Brackets = updatedBrackets;
        }
Esempio n. 5
0
        public ActionResult BracketForm(int bracketID = 0)
        {
            var utl     = new Utility();
            var bracket = utl.GetTournamentBracket();
            var userID  = User.Identity.GetUserId();

            var round1Pos = Utility.Round1PairingOrder;

            var jQueryBracket = new List <List <string> >();

            foreach (var region in bracket)
            {
                for (int i = 0; i < round1Pos.Count; i++)
                {
                    Team teamName = region.Value.First(t => t.Seed == round1Pos[i]).Team;
                    if (i % 2 == 0)
                    {
                        jQueryBracket.Add(new List <string>()
                        {
                            teamName.Name
                        });
                    }
                    else
                    {
                        jQueryBracket[jQueryBracket.Count - 1].Add(teamName.Name);
                    }
                }
            }

            var userBrackets = _context.BracketEntries.Where(t => t.UserId == userID);

            BracketViewModel userBracketView = new BracketViewModel()
            {
                UserBrackets    = userBrackets.ToList(),
                TournamentTeams = JsonConvert.SerializeObject(jQueryBracket),
                TournamentId    = bracketID
            };

            return(View("BracketForm", userBracketView));
        }
Esempio n. 6
0
 public NoCredentialsNeeded()
 {
     this.InitializeComponent();
     bvm = new BracketViewModel();
     init();
 }
Esempio n. 7
0
        //[Authorize]
        public IHttpActionResult SaveBracket(BracketViewModel bracket)
        {
            try
            {
                BracketEntry tournamentBracket;
                string       currentUserId = User.Identity.GetUserId();
                bool         isNewBracket  = false;

                tournamentBracket = _context.BracketEntries.Include(t => t.Picks).SingleOrDefault(t => t.Id == bracket.TournamentId);
                if (tournamentBracket == null)
                {
                    var bracketName = bracket.TournamentEntryName is null ? User.Identity.Name + ' ' + DateTime.Now.ToShortDateString() : bracket.TournamentEntryName;
                    tournamentBracket = new BracketEntry()
                    {
                        UserId = currentUserId,
                        Name   = bracketName,
                        Picks  = new List <BracketGamePick>()
                    };
                    isNewBracket = true;
                }

                var utl      = new Utility();
                var teamList = utl.GetTournamentBracket();

                List <TournamentTeams> currentPicks = new List <TournamentTeams>();

                List <BracketGamePick> currentBracket = new List <BracketGamePick>();

                var        round1Seeds = Utility.Round1PairingOrder;
                List <int> roundsGame1 = new List <int>();
                for (int i = 0; i < bracket.BracketPicks.Count; i++)
                {
                    roundsGame1.Add(currentPicks.Count);

                    for (var j = 0; j < bracket.BracketPicks[i].Count; j++)
                    {
                        var game = bracket.BracketPicks[i][j];

                        if (!(game[0] == 1 ^ game[1] == 1) || game.Count > 2)
                        {
                            currentPicks.Add(new TournamentTeams()
                            {
                                TeamId = 0
                            });
                            return(BadRequest());                            //This game doesn't have only 1 winner
                        }
                        else
                        {
                            TournamentTeams team1, team2, winner;
                            HomeOrAway      winnerHomeAway;
                            if (i == 0)
                            {
                                var region    = j / 8;
                                var team1Seed = round1Seeds[(j * 2) - (region * 16)];
                                var team2Seed = round1Seeds[((j * 2) + 1) - (region * 16)];


                                switch (region)
                                {
                                case 0:
                                    team1 = teamList[Regions.East].Single(t => t.Seed == team1Seed);
                                    team2 = teamList[Regions.East].Single(t => t.Seed == team2Seed);

                                    break;

                                case 1:
                                    team1 = teamList[Regions.Midwest].Single(t => t.Seed == team1Seed);
                                    team2 = teamList[Regions.Midwest].Single(t => t.Seed == team2Seed);
                                    break;

                                case 2:
                                    team1 = teamList[Regions.West].Single(t => t.Seed == team1Seed);
                                    team2 = teamList[Regions.West].Single(t => t.Seed == team2Seed);
                                    break;

                                case 3:
                                    team1 = teamList[Regions.South].Single(t => t.Seed == team1Seed);
                                    team2 = teamList[Regions.South].Single(t => t.Seed == team2Seed);
                                    break;

                                default:
                                    return(BadRequest());
                                }
                            }
                            else
                            {
                                team1 = currentPicks[(j * 2) + roundsGame1[i - 1]];
                                team2 = currentPicks[(j * 2) + roundsGame1[i - 1] + 1];
                            }

                            if (game[1] == 1)
                            {
                                winner         = team2;
                                winnerHomeAway = HomeOrAway.Away;
                            }
                            else
                            {
                                winner         = team1;
                                winnerHomeAway = HomeOrAway.Home;
                            }

                            currentPicks.Add(winner);

                            BracketGamePick pick;
                            if (isNewBracket)
                            {
                                pick = new BracketGamePick()
                                {
                                    RoundNo      = i,
                                    GameNo       = j,
                                    PickedTeamId = winner.Id,
                                    HomeOrAway   = winnerHomeAway
                                };
                                tournamentBracket.Picks.Add(pick);
                            }
                            else
                            {
                                var currentPick = tournamentBracket.Picks.Single(t => t.RoundNo == i & t.GameNo == j);
                                if (currentPick == null)
                                {
                                    pick = new BracketGamePick()
                                    {
                                        RoundNo      = i,
                                        GameNo       = j,
                                        PickedTeamId = winner.Id,
                                        HomeOrAway   = winnerHomeAway
                                    };

                                    tournamentBracket.Picks.Add(pick);
                                }
                                else
                                {
                                    if (currentPick.PickedTeamId != winner.Id)
                                    {
                                        currentPick.PickedTeamId = winner.Id;
                                        currentPick.HomeOrAway   = winnerHomeAway;
                                    }
                                }
                            }
                        }
                    }
                }
                if (isNewBracket)
                {
                    _context.BracketEntries.Add(tournamentBracket);
                }

                if (ModelState.IsValid)
                {
                    _context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                var newMsg = ex;
                return(NotFound());
            }
            return(Ok());
        }