Exemplo n.º 1
0
        public void GetAllTeams_GetAllStoredTeams_ReturnNonEmptyResult()
        {
            //Arrange

            //Act
            var storedTeams = _sut.GetAllTeams();

            //Assert
            Assert.AreNotEqual(0, storedTeams.Count());
        }
Exemplo n.º 2
0
        public IActionResult Create([Bind(include: " Home, Away, Status")] EventViewModel eventViewModel)
        {
            var homeTeamName = eventViewModel.Home;
            var awayTeamName = eventViewModel.Away;
            var homeTeam     = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.Name == homeTeamName);
            var awayTeam     = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.Name == awayTeamName);

            if (String.IsNullOrEmpty(homeTeamName) || String.IsNullOrEmpty(awayTeamName))
            {
                return(View(eventViewModel));
            }

            var foundExistingEvent = _sportingFixturesService.GetAllEvents().ToList().Find(ev => ev.Home.Name == homeTeamName && ev.Away.Name == awayTeamName);

            if (foundExistingEvent != null)
            {
                ModelState.AddModelError("PostCreateEventError", $"The event {homeTeamName} - {awayTeamName} is already exists");
                return(View(eventViewModel));
            }

            if (homeTeam == null)
            {
                ModelState.AddModelError("PostCreateEventError", $"Home team with name {homeTeamName} does not exist in our database");
                return(View(eventViewModel));
            }

            if (awayTeam == null)
            {
                ModelState.AddModelError("PostCreateEventError", $"Away team with name {awayTeamName} does not exist in our database");
                return(View(eventViewModel));
            }

            if (homeTeamName == awayTeamName)
            {
                ModelState.AddModelError("PostCreateEventError", $"The provided event {homeTeamName} - {awayTeamName} has two teams with the same name. This is not allowed.");
                return(View(eventViewModel));
            }

            Event newEvent = new Event()
            {
                Home = new Team {
                    Id = homeTeam.Id, Name = homeTeam.Name, KnownName = homeTeam.KnownName
                },
                Away = new Team {
                    Id = awayTeam.Id, Name = awayTeam.Name, KnownName = awayTeam.KnownName
                },
                Status = eventViewModel.Status
            };


            bool isEventCreated = _sportingFixturesService.CreateEvent(newEvent);

            if (isEventCreated)
            {
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                ModelState.AddModelError("PostCreateEventError", $"Event \"{newEvent.Home.Name} - {newEvent.Away.Name}\" could not be inserted due to database error");
                return(View());
            }
        }
Exemplo n.º 3
0
        public IActionResult Index()
        {
            var model = _sportingFixturesService.GetAllTeams();

            return(View(model));
        }