コード例 #1
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            ParticipantDivisionInt participantDivisionInt = db.ParticipantDivisionInts.Find(id);
            Participant            participant            = db.Participants.Find(participantDivisionInt.ParticipantId);

            if (!(User.IsInRole("Administrator") || User.IsInRole(participant.TournamentId.ToString().ToLower())))
            {
                return(Content("Access denied: this user doesn't have permission to alter the selected tournament!"));
            }
            db.ParticipantDivisionInts.Remove(participantDivisionInt);
            db.Divisions.Where(d => d.DivisionId == participantDivisionInt.DivisionId).First().Bracket = null;
            db.SaveChanges();
            return(RedirectToAction("Details", "Divisions", new { id = participantDivisionInt.DivisionId }));
        }
コード例 #2
0
        // GET: ParticipantDivisionInts/Details/5
        public ActionResult Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ParticipantDivisionInt participantDivisionInt = db.ParticipantDivisionInts.Find(id);

            if (participantDivisionInt == null)
            {
                return(HttpNotFound());
            }
            return(View(participantDivisionInt));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "ParticipantDivisionIntId,ParticipantId,DivisionId,OrderId")] ParticipantDivisionInt participantDivisionInt)
 {
     if (ModelState.IsValid)
     {
         Participant participant = db.Participants.Find(participantDivisionInt.ParticipantId);
         if (!(User.IsInRole("Administrator") || User.IsInRole(participant.TournamentId.ToString().ToLower())))
         {
             return(Content("Access denied: this user doesn't have permission to alter the selected tournament!"));
         }
         db.Entry(participantDivisionInt).State = EntityState.Modified;
         db.Divisions.Where(d => d.DivisionId == participantDivisionInt.DivisionId).First().Bracket = null;
         db.SaveChanges();
         return(RedirectToAction("Details", "Divisions", new { id = participantDivisionInt.DivisionId }));
     }
     ViewBag.DivisionId    = new SelectList(db.Divisions, "DivisionId", "Id", participantDivisionInt.DivisionId);
     ViewBag.ParticipantId = new SelectList(db.Participants, "ParticipantId", "Name", participantDivisionInt.ParticipantId);
     return(View(participantDivisionInt));
 }
コード例 #4
0
        public ActionResult Create([Bind(Include = "ParticipantDivisionIntId,ParticipantId,DivisionId,OrderId")] ParticipantDivisionInt participantDivisionInt)
        {
            if (ModelState.IsValid)
            {
                Participant participant = db.Participants.Find(participantDivisionInt.ParticipantId);
                if (!(User.IsInRole("Administrator") || User.IsInRole(participant.TournamentId.ToString().ToLower())))
                {
                    return(Content("Access denied: this user doesn't have permission to alter the selected tournament!"));
                }
                participantDivisionInt.ParticipantDivisionIntId = Guid.NewGuid();
                db.ParticipantDivisionInts.Add(participantDivisionInt);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.DivisionId    = new SelectList(db.Divisions, "DivisionId", "Id", participantDivisionInt.DivisionId);
            ViewBag.ParticipantId = new SelectList(db.Participants, "ParticipantId", "Name", participantDivisionInt.ParticipantId);
            return(View(participantDivisionInt));
        }
コード例 #5
0
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ParticipantDivisionInt participantDivisionInt = db.ParticipantDivisionInts.Find(id);

            if (participantDivisionInt == null)
            {
                return(HttpNotFound());
            }
            Participant participant = db.Participants.Find(participantDivisionInt.ParticipantId);

            if (!(User.IsInRole("Administrator") || User.IsInRole(participant.TournamentId.ToString().ToLower())))
            {
                return(Content("Access denied: this user doesn't have permission to alter the selected tournament!"));
            }
            return(View(participantDivisionInt));
        }
コード例 #6
0
        // GET: Tournaments/Details/5
        public ActionResult Copy(Guid tournamentId)
        {
            var tournament = db.Tournaments
                             .Include(t => t.Schools)
                             .Include(t => t.Participants)
                             .Include(t => t.Divisions)
                             .AsNoTracking()
                             .FirstOrDefault(e => e.TournamentId == tournamentId);

            if (tournament == null)
            {
                return(HttpNotFound());
            }

            var copiedTournament = new Tournament();

            copiedTournament.Name = String.Format("Copy of ({0})", tournament.Name.Replace("{", "(").Replace("}", ")"));

            copiedTournament.TournamentId = Guid.NewGuid();


            Dictionary <Guid, Participant> exchangeKeysDrawer = new Dictionary <Guid, Participant>();


            foreach (var sch in tournament.Schools)
            {
                var school = new School()
                {
                    Name         = sch.Name,
                    SchoolId     = Guid.NewGuid(),
                    TournamentId = copiedTournament.TournamentId,
                    Tournament   = copiedTournament
                };

                copiedTournament.Schools.Add(school);

                foreach (var part in sch.Participants)
                {
                    var participant = new Participant()
                    {
                        ParticipantId = Guid.NewGuid(),
                        Name          = part.Name,
                        SchoolId      = school.SchoolId,
                        School        = school,
                        TournamentId  = copiedTournament.TournamentId,
                        Tournament    = copiedTournament
                    };
                    exchangeKeysDrawer.Add(part.ParticipantId, participant);
                    school.Participants.Add(participant);
                }
            }


            foreach (var div in tournament.Divisions)
            {
                var division = new Division()
                {
                    DivisionId                  = Guid.NewGuid(),
                    Id                          = div.Id,
                    Name                        = div.Name,
                    Bracket                     = div.Bracket,
                    DoubleElimination           = div.DoubleElimination,
                    NoComebackFromLooserBracket = div.NoComebackFromLooserBracket,
                    NoSecondaryFinal            = div.NoSecondaryFinal,
                    DrawBracket                 = div.DrawBracket,
                    ConsolidationRound          = div.ConsolidationRound,
                    OrderId                     = div.OrderId,
                    Title                       = div.Title,
                    RoundRobin                  = div.RoundRobin,
                    TournamentId                = copiedTournament.TournamentId,
                    Tournament                  = copiedTournament
                };

                copiedTournament.Divisions.Add(division);
                foreach (var pd in div.ParticipantDivisionInts)
                {
                    var participantDiv = new ParticipantDivisionInt()
                    {
                        ParticipantDivisionIntId = Guid.NewGuid(),
                        Division      = division,
                        DivisionId    = division.DivisionId,
                        Participant   = exchangeKeysDrawer[pd.ParticipantId],
                        ParticipantId = exchangeKeysDrawer[pd.ParticipantId].ParticipantId,
                        OrderId       = div.OrderId
                    };

                    division.ParticipantDivisionInts.Add(participantDiv);
                }
            }

            db.Tournaments.Add(copiedTournament);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }