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 })); }
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 })); }
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 })); }
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 })); }
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)); }