public async Task <ActionResult> Create([Bind(Include = "ConcedeId,TeamId,GameWeekId,ManagerId,Substitute")] Concede concede) { if (ModelState.IsValid) { concede.Created = DateTime.UtcNow; concede.CreatedBy = User.Identity.Name; var managerGoalKeeper = db.ManagerGoalKeepers.AsNoTracking().Where(x => x.TeamId == concede.TeamId).FirstOrDefault(); if (managerGoalKeeper != null) { concede.ManagerId = managerGoalKeeper.ManagerId; concede.Substitute = managerGoalKeeper.Substitute; } db.Conceded.Add(concede); var team = db.Teams.Where(x => x.TeamId == concede.TeamId).FirstOrDefault(); auditService.Log("Concede", "Concede Added", User.Identity.Name, string.Format("{0} conceded for {1} ({2})", !concede.Cup ? "Goal" : "Cup goal", team?.Name, team?.ManagerGoalKeepers?.FirstOrDefault()?.Manager?.Name ?? "Unattached"), concede.GameWeekId); await db.SaveChangesAsync(); gameWeekSummaryService.Create(concede.GameWeekId); cupWeekSummaryService.Create(concede.GameWeekId); return(RedirectToAction("Index")); } ViewBag.GameWeekId = new SelectList(db.GameWeeks.AsNoTracking().OrderBy(x => x.Number), "GameWeekId", "Details", gameWeekService.GetCurrent()?.GameWeekId); ViewBag.TeamId = new SelectList(db.ManagerGoalKeepers.AsNoTracking().Include(x => x.Team).OrderBy(x => x.Team.Name), "TeamId", "Details"); return(View(concede)); }
public async Task Test_Create_Creates_Concede() { controller.ControllerContext = new MockControllerContext().ControllerContext.Object; var concede = new Concede { TeamId = 1, ManagerId = 1, GameWeekId = 1 }; await controller.Create(concede); context.MockConceded.Verify(x => x.Add(It.Is <Concede>(t => t == concede))); }
// GET: Concede/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Concede concede = await db.Conceded.FindAsync(id); if (concede == null) { return(HttpNotFound()); } return(View(concede)); }
public async Task <ActionResult> DeleteConfirmed(int id) { Concede concede = await db.Conceded.FindAsync(id); db.Conceded.Remove(concede); var team = db.Teams.Where(x => x.TeamId == concede.TeamId).FirstOrDefault(); auditService.Log("Concede", "Concede Deleted", User.Identity.Name, string.Format("{0} conceded removed for {1} ({2})", !concede.Cup ? "Goal" : "Cup goal", team?.Name, team?.ManagerGoalKeepers?.FirstOrDefault()?.Manager?.Name ?? "Unattached"), concede.GameWeekId); await db.SaveChangesAsync(); gameWeekSummaryService.Create(concede.GameWeekId); cupWeekSummaryService.Create(concede.GameWeekId); return(RedirectToAction("Index")); }
// GET: Concede/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Concede concede = await db.Conceded.FindAsync(id); if (concede == null) { return(HttpNotFound()); } ViewBag.GameWeekId = new SelectList(db.GameWeeks.AsNoTracking().OrderBy(x => x.Number), "GameWeekId", "Details", gameWeekService.GetCurrent()?.GameWeekId); ViewBag.TeamId = new SelectList(db.ManagerGoalKeepers.AsNoTracking().Include(x => x.Team).OrderBy(x => x.Team.Name), "TeamId", "Details"); return(View(concede)); }
protected virtual void OnConcede(GameLogEventArgs l) { Concede?.Invoke(this, l); }
public ActionResult Index(ResultsSheet resultsSheet) { var managerCupWeeks = gameWeekService.ManagerCupWeeks(resultsSheet.GameWeekId); var date = DateTime.UtcNow; foreach (var goalKeeper in resultsSheet.GoalKeepers) { bool substitute = false; if (goalKeeper.SubstitutePlayed) { substitute = true; } if (goalKeeper.Conceded > 0) { for (int i = 0; i < goalKeeper.Conceded; i++) { Concede concede = new Concede(goalKeeper.GoalKeeper.TeamId, resultsSheet.GameWeekId, goalKeeper.GoalKeeper.ManagerId, substitute); concede.Created = date; concede.CreatedBy = User.Identity.Name; db.Conceded.Add(concede); var team = db.Teams.Where(x => x.TeamId == concede.TeamId).FirstOrDefault(); auditService.Log("Concede", "Concede Added", User.Identity.Name, string.Format("Goal conceded for {0} ({1})", team?.Name, team?.ManagerGoalKeepers?.FirstOrDefault()?.Manager?.Name ?? "Unattached"), resultsSheet.GameWeekId); } } if (managerCupWeeks.Exists(x => x.ManagerId == goalKeeper.GoalKeeper.ManagerId)) { if (goalKeeper.CupConceded > 0) { for (int i = 0; i < goalKeeper.CupConceded; i++) { Concede concede = new Concede(goalKeeper.Substitute.TeamId, resultsSheet.GameWeekId, goalKeeper.Substitute.ManagerId, substitute, true); concede.Created = date; concede.CreatedBy = User.Identity.Name; db.Conceded.Add(concede); var team = db.Teams.Where(x => x.TeamId == concede.TeamId).FirstOrDefault(); auditService.Log("Concede", "Concede Added", User.Identity.Name, string.Format("Cup goal conceded for {0} ({1})", team?.Name, team?.ManagerGoalKeepers?.FirstOrDefault()?.Manager?.Name ?? "Unattached"), resultsSheet.GameWeekId); } } } } foreach (var player in resultsSheet.Players) { if (player.Goals > 0) { for (int i = 0; i < player.Goals; i++) { Goal goal = new Goal(player.Player.PlayerId, resultsSheet.GameWeekId, player.Player.ManagerId); goal.Created = date; goal.CreatedBy = User.Identity.Name; db.Goals.Add(goal); var playerT = db.Players.Where(x => x.PlayerId == goal.PlayerId).FirstOrDefault(); auditService.Log("Goal", "Goal Added", User.Identity.Name, string.Format("Goal scored for {0} ({1})", playerT?.FullName, playerT?.ManagerPlayers.FirstOrDefault()?.Manager?.Name ?? "Unattached"), resultsSheet.GameWeekId); } } if (managerCupWeeks.Exists(x => x.ManagerId == player.Player.ManagerId)) { if (player.CupGoals > 0) { for (int i = 0; i < player.CupGoals; i++) { Goal goal = new Goal(player.Player.PlayerId, resultsSheet.GameWeekId, player.Player.ManagerId, true); goal.Created = date; goal.CreatedBy = User.Identity.Name; db.Goals.Add(goal); var playerT = db.Players.Where(x => x.PlayerId == goal.PlayerId).FirstOrDefault(); auditService.Log("Goal", "Goal Added", User.Identity.Name, string.Format("Cup goal scored for {0} ({1})", playerT?.FullName, playerT?.ManagerPlayers.FirstOrDefault()?.Manager?.Name ?? "Unattached"), resultsSheet.GameWeekId); } } } } var gameWeek = db.GameWeeks.Find(resultsSheet.GameWeekId); gameWeek.SetComplete(); db.SaveChanges(); gameWeekSummaryService.Create(resultsSheet.GameWeekId); cupWeekSummaryService.Create(resultsSheet.GameWeekId); return(RedirectToAction("Index", "Result", new { gameWeekId = resultsSheet.GameWeekId })); }