コード例 #1
0
        public ActionResult Participate([Bind(Include = "TeamID")] Team team, [Bind(Include = "TournamentId")] Tournament tournament)
        {
            if (db.TeamGeek.Where(tg => tg.Team == team.TeamId && !tg.Deleted).Count() != db.Tournament.Find(tournament.TournamentId).PlayerNumber)
            {
                ViewBag.Message = "Le nombre de membres de l'équipe ne correspond pas aux prérequis du tournois";
                Tournament tournamentId             = db.Tournament.Find(tournament.TournamentId);
                Geek       user                     = db.Geek.Where(g => g.Username == User.Identity.Name && !g.Deleted).FirstOrDefault();
                TournamentDetailViewModel viewModel = new TournamentDetailViewModel
                {
                    tournament = tournamentId,
                    geek       = user,
                };
                return(View("Details", viewModel));
            }
            Participation participation = db.Participation.Where(p => p.Team == team.TeamId && p.Tournament == tournament.TournamentId).FirstOrDefault();

            if (participation != null)
            {
                db.TournamentLog.Add(new TournamentLog
                {
                    Deleted    = false,
                    Entry      = "L'équipe " + participation.Team1.Name + " s'est inscrit au tournoi.",
                    Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
                    Tournament = tournament.TournamentId
                });
                participation.Deleted = false;
                db.SaveChanges();
            }
            else
            {
                participation            = new Participation();
                participation.Deleted    = false;
                participation.Team       = team.TeamId;
                participation.Tournament = tournament.TournamentId;
                participation.Qualified  = true;
                if (ModelState.IsValid)
                {
                    TournamentLog newLog = new TournamentLog
                    {
                        Deleted    = false,
                        Entry      = "L'équipe " + participation.Team1.Name + " s'est inscrit au tournoi.",
                        Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
                        Tournament = tournament.TournamentId
                    };
                    db.TournamentLog.Add(newLog);
                    db.Participation.Add(participation);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Details", new { id = tournament.TournamentId }));
        }
コード例 #2
0
 public ActionResult AddTag([Bind(Include = "Tag")] TournamentTag tournamentTag, [Bind(Include = "TournamentId")] Tournament tournament)
 {
     tournamentTag.Deleted    = false;
     tournamentTag.Tournament = tournament.TournamentId;
     if (ModelState.IsValid)
     {
         TournamentLog log = new TournamentLog
         {
             Deleted    = false,
             Entry      = "Le tag " + tournamentTag.Tag + " a été ajouté.",
             Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
             Tournament = tournament.TournamentId
         };
         db.TournamentLog.Add(log);
     }
     db.TournamentTag.Add(tournamentTag);
     db.SaveChanges();
     return(RedirectToAction("Details", new { id = tournament.TournamentId }));
 }
コード例 #3
0
        public ActionResult DeleteTag([Bind(Include = "TagId")] TournamentTag tournamentTag, [Bind(Include = "TournamentId")] Tournament tournament)
        {
            TournamentTag tag = db.TournamentTag.Find(tournamentTag.TagId);

            if (tag != null)
            {
                TournamentLog log = new TournamentLog
                {
                    Deleted    = false,
                    Entry      = "Le tag " + tag.Tag + " a été retiré.",
                    Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
                    Tournament = tournament.TournamentId
                };
                db.TournamentLog.Add(log);
                tag.Deleted = true;
                db.SaveChanges();
            }
            return(RedirectToAction("Details", new { id = tournament.TournamentId }));
        }
コード例 #4
0
        public ActionResult Abandonner([Bind(Include = "TeamID")] Team team, [Bind(Include = "TournamentId")] Tournament tournament)
        {
            Participation participation = db.Participation.Where(p => p.Team == team.TeamId && p.Tournament == tournament.TournamentId).FirstOrDefault();

            if (participation != null)
            {
                TournamentLog log = new TournamentLog
                {
                    Deleted    = false,
                    Entry      = "L'équipe " + participation.Team1.Name + " a été retiré.",
                    Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
                    Tournament = tournament.TournamentId
                };
                db.TournamentLog.Add(log);
                participation.Deleted = true;
                db.SaveChanges();
            }
            return(RedirectToAction("Details", new { id = tournament.TournamentId }));
        }
コード例 #5
0
 public ActionResult Edit([Bind(Include = "TournamentId,Initials,Name,Rules,Slots,PlayerNumber,Tags,RegisteringPeriod,PlayingPeriod,Game,Deleted,Organiser")] Tournament tournament, DateTime PeriodRegistrationStart, DateTime PeriodRegistrationEnd, DateTime PeriodPlayStart, DateTime PeriodPlayEnd)
 {
     if (PeriodPlayStart >= PeriodPlayEnd)
     {
         ViewBag.Message           = "La date de fin de jeu doit être ultérieur à la date de début";
         ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
         ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
         ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
         ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
         return(View(tournament));
     }
     if (PeriodPlayStart < PeriodRegistrationEnd)
     {
         ViewBag.Message           = "Le tournoi ne peut commencer si les inscriptions ne sont pas terminées";
         ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
         ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
         ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
         ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
         return(View(tournament));
     }
     if (PeriodRegistrationStart >= PeriodRegistrationEnd)
     {
         ViewBag.Message           = "La date de fin d'inscription doit être ultérieur à la date de début";
         ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
         ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
         ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
         ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
         return(View(tournament));
     }
     if (PeriodRegistrationStart < DateTime.UtcNow && PeriodRegistrationStart != db.Tournament.Find(tournament.TournamentId).PeriodRegistration.Start)
     {
         ViewBag.Message           = "La date de début des inscription doit être ultérieur à la date courante";
         ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
         ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
         ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
         ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
         return(View(tournament));
     }
     if (db.Tournament.Any(t => t.Name == tournament.Name) && tournament.Name != db.Tournament.Find(tournament.TournamentId).Name)
     {
         ViewBag.Message           = "Le nom de tournoi est déja pris";
         ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
         ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
         ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
         ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
         return(View(tournament));
     }
     if (ModelState.IsValid)
     {
         tournament.PeriodRegistration        = db.Period.Find(tournament.RegisteringPeriod);
         tournament.PeriodPlay                = db.Period.Find(tournament.PlayingPeriod);
         tournament.PeriodPlay.Start          = PeriodPlayStart;
         tournament.PeriodPlay.Ending         = PeriodPlayEnd;
         tournament.PeriodRegistration.Start  = PeriodRegistrationStart;
         tournament.PeriodRegistration.Ending = PeriodRegistrationEnd;
         TournamentLog log = new TournamentLog
         {
             Deleted    = false,
             Entry      = "Le tournoi a été modifié.",
             Time       = (int)new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(),
             Tournament = tournament.TournamentId
         };
         db.TournamentLog.Add(log);
         db.Entry(tournament).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Details", new { id = tournament.TournamentId }));
     }
     ViewBag.Game              = new SelectList(db.Game, "GameId", "Name", tournament.Game);
     ViewBag.Organiser         = new SelectList(db.Geek, "GeekId", "Username", tournament.Organiser);
     ViewBag.RegisteringPeriod = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.RegisteringPeriod);
     ViewBag.PlayingPeriod     = new SelectList(db.Period, "PeriodId", "PeriodId", tournament.PlayingPeriod);
     return(View(tournament));
 }