Exemple #1
0
        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));
        }
Exemple #2
0
        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)));
        }
Exemple #3
0
        // 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));
        }
Exemple #4
0
        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"));
        }
Exemple #5
0
        // 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));
        }
Exemple #6
0
 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 }));
        }