Example #1
0
        public IActionResult AddMatch(AddMatchVM model)
        {
            if (model.SelectedPlayer1Id == model.SelectedPlayer2Id)
            {
                ModelState.AddModelError("SelectedPlayer2Id", "Players cannot be the same!");
            }

            if (model.SelectedPlayer1Sets == model.SelectedPlayer2Sets || (model.SelectedPlayer1Sets < 2 && model.SelectedPlayer2Sets < 2))
            {
                ModelState.AddModelError("SelectedPlayer2Sets", "Incorrect Result! Matches are played in best of 3 sets.");
            }

            if (!ModelState.IsValid)
            {
                return(View(rep.PopulateLists()));
            }

            Match newMatch = new Match()
            {
                Player1Id   = model.SelectedPlayer1Id,
                Player2Id   = model.SelectedPlayer2Id,
                Player1Sets = model.SelectedPlayer1Sets,
                Player2Sets = model.SelectedPlayer2Sets,
                Date        = DateTime.Now
            };

            rep.AddMatch(newMatch);
            return(RedirectToAction(nameof(Index)));
        }
Example #2
0
        public AddMatchVM PopulateLists()
        {
            var players = GetPlayers();
            var model   = new AddMatchVM()
            {
                Sets          = new SelectListItem[4],
                ListOfPlayers = new SelectListItem[players.Length]
            };

            for (int i = 0; i < players.Length; i++)
            {
                var teamname = GetTeamName(players[i].TeamId);
                var text     = $"{players[i].Name}";
                model.ListOfPlayers[i] = new SelectListItem {
                    Value = players[i].Id.ToString(), Text = text
                };
            }

            model.Sets[0] = new SelectListItem {
                Value = "0", Text = "0"
            };
            model.Sets[1] = new SelectListItem {
                Value = "1", Text = "1"
            };
            model.Sets[2] = new SelectListItem {
                Value = "2", Text = "2"
            };
            model.Sets[3] = new SelectListItem {
                Value = "3", Text = "3"
            };

            return(model);
        }
        public virtual void NewMatch(AddMatchVM model)
        {
            Match newMatch = new Match()
            {
                Player1Id   = model.SelectedPlayer1Id,
                Player2Id   = model.SelectedPlayer2Id,
                Player1Sets = model.SelectedPlayer1Sets,
                Player2Sets = model.SelectedPlayer2Sets,
                Date        = DateTime.Now
            };

            rep.AddMatch(newMatch);
        }
        public void AddMatchTest()
        {
            //Arrange
            AddMatchVM model             = new AddMatchVM();
            var        repositoryHandler = new Mock <RepositoryHandler>();

            repositoryHandler.CallBase = true;
            repositoryHandler.Setup(m => m.isAdmin()).Returns(false);
            repositoryHandler.Setup(m => m.PopulateLists()).Returns(new AddMatchVM());
            repositoryHandler.Setup(m => m.NewMatch(model));

            //Act
            var controller = new HomeController(repositoryHandler.Object);
            var result     = controller.AddMatch(model) as RedirectToActionResult;

            //Assert
            Assert.AreEqual("Index", result.ActionName);
        }
Example #5
0
        public IActionResult AddMatch(AddMatchVM model)
        {
            if (model.SelectedPlayer1Id == model.SelectedPlayer2Id)
            {
                ModelState.AddModelError("SelectedPlayer2Id", "Välj två olika spelare!");
            }

            if (model.SelectedPlayer1Sets == model.SelectedPlayer2Sets)
            {
                ModelState.AddModelError("SelectedPlayer2Sets", "Felaktigt resultat! Matcher kan inte sluta lika!.");
            }

            if (!ModelState.IsValid)
            {
                return(View(repHandler.PopulateLists()));
            }

            repHandler.NewMatch(model);

            return(RedirectToAction(nameof(Index)));
        }