public async Task <IActionResult> GetTournamentList([FromRoute] Guid golfClubId, CancellationToken cancellationToken) { GetTournamentListResponse response = new GetTournamentListResponse(); using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { List <Tournament> tournaments = await context.Tournaments.Where(t => t.GolfClubId == golfClubId).ToListAsync(cancellationToken); foreach (Tournament tournament in tournaments) { response.Tournaments.Add(new GetTournamentResponse { TournamentName = tournament.TournamentName, TournamentId = tournament.TournamentId, TournamentDate = tournament.TournamentDate, HasBeenCancelled = tournament.HasBeenCancelled, HasBeenCompleted = tournament.HasBeenCompleted, HasResultBeenProduced = tournament.HasResultBeenProduced, MeasuredCourseId = tournament.MeasuredCourseId, MeasuredCourseName = tournament.MeasuredCourseName, MeasuredCourseSSS = tournament.MeasuredCourseSSS, MeasuredCourseTeeColour = tournament.MeasuredCourseTeeColour, PlayerCategory = (PlayerCategory)tournament.PlayerCategory, PlayersScoresRecordedCount = tournament.PlayersScoresRecordedCount, PlayersSignedUpCount = tournament.PlayersSignedUpCount, TournamentFormat = (TournamentFormat)tournament.TournamentFormat }); } } return(this.Ok(response)); }
public async Task <IActionResult> GetPlayer([FromRoute] Guid playerId) { List <KeyValuePair <String, StringValues> > headers = this.Request.Headers.ToList(); using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { // Find the player Player player = context.Players.SingleOrDefault(p => p.PlayerId == playerId); if (player == null) { return(this.NotFound()); } else { return(this.Ok(new GetPlayerDetailsResponse { DateOfBirth = player.DateOfBirth, FirstName = player.FirstName, EmailAddress = player.EmailAddress, LastName = player.LastName, ExactHandicap = player.ExactHandicap, Gender = player.Gender, FullName = $"{player.FirstName} {player.LastName}", HasBeenRegistered = true, PlayingHandicap = this.CalculatePlayingHandicap(player.ExactHandicap), HandicapCategory = this.CalculateHandicapCategory(this.CalculatePlayingHandicap(player.ExactHandicap)) })); } } }
public RequestClubMembershipSteps(ScenarioContext scenarioContext) { this.App = scenarioContext.Get <IApp>("App"); String connectionString = "server=192.168.1.132;database=MockDatabase;user id=root;password=Pa55word"; this.MockDatabase = new MockDatabaseDbContext(connectionString); }
public FeatureBase(FeatureContext featureContext, ScenarioContext scenarioContext) { this.FeatureContext = featureContext; this.ScenarioContext = scenarioContext; String connectionString = "server=192.168.1.132;database=MockDatabase;user id=root;password=Pa55word"; this.MockDatabase = new MockDatabaseDbContext(connectionString); }
public void GivenThereAreNoPlayersSignedUp() { MockDatabaseDbContext context = this.MockDatabase; List <RegisteredUser> usersToRemove = context.RegisteredUsers.ToList(); context.RemoveRange(usersToRemove); List <Player> playersToRemove = context.Players.ToList(); context.RemoveRange(playersToRemove); context.SaveChanges(); }
public void ThenTheDetailsForAreShown(String golfClubName) { MockDatabaseDbContext context = this.MockDatabase; GolfClub golfClub = context.GolfClubs.Single(c => c.Name == golfClubName); AppResult golfClubNameLabel = this.App.WaitForElement(c => c.Marked("GolfClubName")).Single(); AppResult townLabel = this.App.WaitForElement(c => c.Marked("Town")).Single(); AppResult regionLabel = this.App.WaitForElement(c => c.Marked("Region")).Single(); AppResult postCodeLabel = this.App.WaitForElement(c => c.Marked("PostCode")).Single(); golfClubNameLabel.Text.ShouldBe(golfClub.Name); townLabel.Text.ShouldBe(golfClub.Town); regionLabel.Text.ShouldBe(golfClub.Region); postCodeLabel.Text.ShouldBe(golfClub.PostalCode); }
public async Task <IActionResult> RequestClubMembership([FromRoute] Guid playerId, [FromRoute] Guid golfClubId, CancellationToken cancellationToken) { List <KeyValuePair <String, StringValues> > headers = this.Request.Headers.ToList(); String authHeader = headers.Where(x => x.Key == "Authorization").Select(x => x.Value).SingleOrDefault().SingleOrDefault(); if (authHeader == null) { return(this.Unauthorized()); } using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { Player player = context.Players.SingleOrDefault(p => p.PlayerId == playerId); if (player == null) { return(this.BadRequest()); } GolfClub golfClub = context.GolfClubs.SingleOrDefault(c => c.GolfClubId == golfClubId); if (golfClub == null) { return(this.BadRequest()); } GolfClubMembership membership = new GolfClubMembership { PlayerId = playerId, AcceptedDateTime = DateTime.Now, GolfClubId = golfClubId, GolfClubName = golfClub.Name, MembershipId = Guid.NewGuid(), PlayerDateOfBirth = player.DateOfBirth, PlayerFullName = $"{player.FirstName} {player.LastName}", PlayerGender = player.Gender, }; await context.GolfClubMemberships.AddAsync(membership, cancellationToken); await context.SaveChangesAsync(cancellationToken); } return(this.NoContent()); }
public async Task <IActionResult> GetGolfClubList(CancellationToken cancellationToken) { List <KeyValuePair <String, StringValues> > headers = this.Request.Headers.ToList(); String authHeader = headers.Where(x => x.Key == "Authorization").Select(x => x.Value).SingleOrDefault().SingleOrDefault(); if (authHeader == null) { return(this.Unauthorized()); } using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { // Find the clubs List <GolfClub> golfClubs = await context.GolfClubs.ToListAsync(cancellationToken); if (!golfClubs.Any()) { return(this.NotFound()); } else { List <GetGolfClubResponse> response = new List <GetGolfClubResponse>(); foreach (GolfClub golfClub in golfClubs) { response.Add(new GetGolfClubResponse { AddressLine1 = golfClub.AddressLine1, AddressLine2 = golfClub.AddressLine2, EmailAddress = golfClub.EmailAddress, Id = golfClub.GolfClubId, Name = golfClub.Name, PostalCode = golfClub.PostalCode, Region = golfClub.Region, TelephoneNumber = golfClub.TelephoneNumber, Town = golfClub.Town, Website = golfClub.Website }); } return(this.Ok(response)); } } }
public async Task <IActionResult> SignUpForTournament([FromRoute] Guid playerId, [FromRoute] Guid tournamentId, CancellationToken cancellationToken) { List <KeyValuePair <String, StringValues> > headers = this.Request.Headers.ToList(); String authHeader = headers.Where(x => x.Key == "Authorization").Select(x => x.Value).SingleOrDefault().SingleOrDefault(); if (authHeader == null) { return(this.Unauthorized()); } using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { Player player = context.Players.SingleOrDefault(p => p.PlayerId == playerId); if (player == null) { return(this.BadRequest()); } Tournament tournament = context.Tournaments.SingleOrDefault(t => t.TournamentId == tournamentId); if (tournament == null) { return(this.BadRequest()); } PlayerTournamentSignIn playerTournamentSignIn = new PlayerTournamentSignIn { PlayerId = playerId, TournamentId = tournamentId }; await context.PlayerTournamentSignIns.AddAsync(playerTournamentSignIn, cancellationToken); await context.SaveChangesAsync(cancellationToken); } return(this.NoContent()); }
public async Task <IActionResult> PostPlayer([FromBody] RegisterPlayerRequest request, CancellationToken cancellationToken) { // create a player Player player = new Player { PlayerId = Guid.NewGuid(), LastName = request.LastName, FirstName = request.FirstName, DateOfBirth = request.DateOfBirth, EmailAddress = request.EmailAddress, ExactHandicap = request.ExactHandicap, Gender = request.Gender, MiddleName = request.MiddleName }; // create a user RegisteredUser user = new RegisteredUser { EmailAddress = request.EmailAddress, Password = "******", UserId = Guid.NewGuid() }; // Add to mock database using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { await context.RegisteredUsers.AddAsync(user, cancellationToken); await context.Players.AddAsync(player, cancellationToken); await context.SaveChangesAsync(cancellationToken); } return(this.Ok(new RegisterPlayerResponse { PlayerId = player.PlayerId })); }
public void GivenTheFollowingGolfClubsAreRegistered(Table table) { MockDatabaseDbContext context = this.MockDatabase; List <GolfClub> golfClubsToRemove = context.GolfClubs.ToList(); context.RemoveRange(golfClubsToRemove); foreach (TableRow tableRow in table.Rows) { GolfClub golfClub = new GolfClub { GolfClubId = Guid.NewGuid(), Name = tableRow["GolfClubName"], Town = tableRow["Town"], Region = tableRow["Region"], PostalCode = tableRow["PostalCode"] }; context.GolfClubs.Add(golfClub); } context.SaveChanges(); }
public async Task <IActionResult> GetPlayerMemberships([FromRoute] Guid playerId, CancellationToken cancellationToken) { List <KeyValuePair <String, StringValues> > headers = this.Request.Headers.ToList(); String authHeader = headers.Where(x => x.Key == "Authorization").Select(x => x.Value).SingleOrDefault().SingleOrDefault(); if (authHeader == null) { return(this.Unauthorized()); } using (MockDatabaseDbContext context = this.MockDatabaseDbContextResolver()) { IQueryable <GolfClubMembership> playerMemberships = context.GolfClubMemberships.Where(m => m.PlayerId == playerId); if (!playerMemberships.Any()) { return(this.NotFound()); } List <ClubMembershipResponse> membershipResponses = new List <ClubMembershipResponse>(); foreach (GolfClubMembership golfClubMembership in playerMemberships) { membershipResponses.Add(new ClubMembershipResponse { AcceptedDateTime = golfClubMembership.AcceptedDateTime, GolfClubId = golfClubMembership.GolfClubId, MembershipId = golfClubMembership.MembershipId, GolfClubName = golfClubMembership.GolfClubName, MembershipNumber = "000001", Status = MembershipStatus.Accepted }); } return(this.Ok(membershipResponses)); } }
private async Task InitialiseDatabase(IApplicationBuilder app) { using (IServiceScope scope = app.ApplicationServices.GetService <IServiceScopeFactory>().CreateScope()) { MockDatabaseDbContext mockDatabase = scope.ServiceProvider.GetRequiredService <MockDatabaseDbContext>(); try { if (mockDatabase.Database.IsMySql()) { mockDatabase.Database.Migrate(); } // mockDatabase.SaveChanges(); } catch (Exception ex) { var connString = mockDatabase.Database.GetDbConnection().ConnectionString; Exception newException = new Exception($"Connection String [{connString}]", ex); throw newException; } } }
public FeatureBase() { String connectionString = "server=192.168.1.132;database=MockDatabase;user id=root;password=Pa55word"; this.MockDatabase = new MockDatabaseDbContext(connectionString); }