public IActionResult Create([Bind(include: "Name, KnownName")] Team team) { if (string.IsNullOrEmpty(team.Name) || string.IsNullOrEmpty(team.KnownName)) { return(View()); } var foundExistingTeamByName = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.Name.ToLower() == team.Name.ToLower()); var foundExistingTeamByKnownName = _sportingFixturesService.GetAllTeams().ToList().Find(t => t.KnownName.ToLower() == team.KnownName.ToLower()); if (foundExistingTeamByName != null) { ModelState.AddModelError("PostCreateTeamNameError", $"The team \"{foundExistingTeamByName.Name}\" is already exists"); return(View()); } else if (foundExistingTeamByKnownName != null) { ModelState.AddModelError("PostCreateTeamKnownNameError", $"The team known as \"{foundExistingTeamByKnownName.KnownName}\" is already exists"); return(View()); } if (ModelState.IsValid) { var newTeam = new Team { Name = team.Name, KnownName = team.KnownName }; bool isTeamCreated = _sportingFixturesService.CreateTeam(newTeam); if (isTeamCreated) { return(RedirectToAction(nameof(Index))); } else { ModelState.AddModelError("PostCreateTeamError", $"Team \"{foundExistingTeamByName.Name}\" could not be inserted due to database error"); return(View()); } } else { return(View()); } }
public void CreateTeam_CreateNewTeamWithoutId_ReturnsTrue() { //Arrange var randomTeam = new Team { Name = "Random", KnownName = "Random" }; bool expectedResult = true; //Act bool actualResult = _sut.CreateTeam(randomTeam); //Assert Assert.AreEqual(expectedResult, actualResult); }