From 6882d1b9493183fcb08b5610df1730b443679bc4 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:06:24 +0100 Subject: [PATCH 01/34] chore: Specify C# version --- .../BookingSystem.AspNetCore.IdentityServer.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetCore.IdentityServer/BookingSystem.AspNetCore.IdentityServer.csproj b/Examples/BookingSystem.AspNetCore.IdentityServer/BookingSystem.AspNetCore.IdentityServer.csproj index fb12cf38..bf22aa27 100644 --- a/Examples/BookingSystem.AspNetCore.IdentityServer/BookingSystem.AspNetCore.IdentityServer.csproj +++ b/Examples/BookingSystem.AspNetCore.IdentityServer/BookingSystem.AspNetCore.IdentityServer.csproj @@ -2,6 +2,7 @@ netcoreapp3.1 + 8.0 From a9751510658aab23e7cd66a9c435eabc2c5b03e7 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:12:30 +0100 Subject: [PATCH 02/34] chore: Specify C# version --- .../BookingSystem.AspNetCore/BookingSystem.AspNetCore.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetCore/BookingSystem.AspNetCore.csproj b/Examples/BookingSystem.AspNetCore/BookingSystem.AspNetCore.csproj index 62f36fd2..56ca4b98 100644 --- a/Examples/BookingSystem.AspNetCore/BookingSystem.AspNetCore.csproj +++ b/Examples/BookingSystem.AspNetCore/BookingSystem.AspNetCore.csproj @@ -2,6 +2,7 @@ netcoreapp3.1 + 8.0 aspnet-BookingSystem.AspNetCore-443B4F82-A20C-41CE-9924-329A0BCF0D14 Release;Debug From 7398aad8d0d4a1167cabb620f79b11a7314554d1 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:13:07 +0100 Subject: [PATCH 03/34] chore: Specify C# version --- .../BookingSystem.AspNetFramework.Tests.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework.Tests/BookingSystem.AspNetFramework.Tests.csproj b/Examples/BookingSystem.AspNetFramework.Tests/BookingSystem.AspNetFramework.Tests.csproj index 3fa756ef..0a5c449f 100644 --- a/Examples/BookingSystem.AspNetFramework.Tests/BookingSystem.AspNetFramework.Tests.csproj +++ b/Examples/BookingSystem.AspNetFramework.Tests/BookingSystem.AspNetFramework.Tests.csproj @@ -12,6 +12,7 @@ BookingSystem.AspNetFramework.Tests BookingSystem.AspNetFramework.Tests v4.6.2 + 8.0 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -132,4 +133,4 @@ --> - \ No newline at end of file + From 9ba401029da3fff150ceeb5a3a02f4259c2e4770 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:13:35 +0100 Subject: [PATCH 04/34] chore: Specify C# version --- .../BookingSystem.AspNetFramework.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index c89ec8a1..63310af8 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -15,6 +15,7 @@ BookingSystem.AspNetFramework BookingSystem.AspNetFramework v4.6.2 + 8.0 false true @@ -540,4 +541,4 @@ --> - \ No newline at end of file + From 4433a843177844ccb267233085b61f8da7f8c6ec Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:13:57 +0100 Subject: [PATCH 05/34] chore: Specify C# version --- .../OpenActive.FakeDatabase.NET.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Fakes/OpenActive.FakeDatabase.NET.Tests/OpenActive.FakeDatabase.NET.Tests.csproj b/Fakes/OpenActive.FakeDatabase.NET.Tests/OpenActive.FakeDatabase.NET.Tests.csproj index e6ac0462..c26e0e80 100644 --- a/Fakes/OpenActive.FakeDatabase.NET.Tests/OpenActive.FakeDatabase.NET.Tests.csproj +++ b/Fakes/OpenActive.FakeDatabase.NET.Tests/OpenActive.FakeDatabase.NET.Tests.csproj @@ -2,6 +2,7 @@ netcoreapp3.1 + 8.0 false From 16e7465ede62111af6a130bbd789b1a34d48326e Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:14:21 +0100 Subject: [PATCH 06/34] chore: Specify C# version --- .../OpenActive.FakeDatabase.NET.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj b/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj index 1e72cbb1..7605efa9 100644 --- a/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj +++ b/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj @@ -2,6 +2,7 @@ netstandard2.0 + 8.0 OpenActive.FakeDatabase.NET OpenActive.FakeDatabase.NET OpenActive.FakeDatabase.NET From 2b177393f8ea630923e69485c7a27add6b0d9349 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:14:44 +0100 Subject: [PATCH 07/34] chore: Specify C# version --- OpenActive.Server.NET.Tests/OpenActive.Server.NET.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenActive.Server.NET.Tests/OpenActive.Server.NET.Tests.csproj b/OpenActive.Server.NET.Tests/OpenActive.Server.NET.Tests.csproj index 7226907e..b07b7385 100644 --- a/OpenActive.Server.NET.Tests/OpenActive.Server.NET.Tests.csproj +++ b/OpenActive.Server.NET.Tests/OpenActive.Server.NET.Tests.csproj @@ -2,6 +2,7 @@ netcoreapp3.1 + 8.0 false From 11087454b88b3a50585029a7c72c59789183fc5b Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 16 Apr 2025 16:15:15 +0100 Subject: [PATCH 08/34] chore: Specify C# version --- OpenActive.Server.NET/OpenActive.Server.NET.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenActive.Server.NET/OpenActive.Server.NET.csproj b/OpenActive.Server.NET/OpenActive.Server.NET.csproj index 1dd2ab94..2ea7fb1d 100644 --- a/OpenActive.Server.NET/OpenActive.Server.NET.csproj +++ b/OpenActive.Server.NET/OpenActive.Server.NET.csproj @@ -2,6 +2,7 @@ netstandard2.0 + 8.0 OpenActive Community OpenActive OpenActive From 621855331ca3b9f93c8e343226c19177c2a5fbf5 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 11:13:54 +0100 Subject: [PATCH 09/34] fix: Check import behaviour --- .../BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs index c9c7b496..726eff09 100644 --- a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs +++ b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs @@ -1,10 +1,10 @@ using Bogus; -using BookingSystem.AspNetCore.Helpers; using OpenActive.DatasetSite.NET; using OpenActive.FakeDatabase.NET; using OpenActive.NET; using OpenActive.NET.Rpde.Version1; using OpenActive.Server.NET.OpenBookingHelper; +using BookingSystem.AspNetCore.Helpers; using ServiceStack.OrmLite; using System; using System.Collections.Generic; @@ -305,4 +305,4 @@ Offer GenerateOffer(SlotTable slot, QuantitativeValue ageRange) } } -} \ No newline at end of file +} From 29621579b86c4f4587e32bb02628afa103e0e1ad Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 11:21:25 +0100 Subject: [PATCH 10/34] fix: Check import behaviour --- Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs index 726eff09..41969fcc 100644 --- a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs +++ b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs @@ -4,7 +4,7 @@ using OpenActive.NET; using OpenActive.NET.Rpde.Version1; using OpenActive.Server.NET.OpenBookingHelper; -using BookingSystem.AspNetCore.Helpers; +// using BookingSystem.AspNetCore.Helpers; using ServiceStack.OrmLite; using System; using System.Collections.Generic; From 77c479516c90b9843c1408cc765b25a42a0974cf Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 11:49:11 +0100 Subject: [PATCH 11/34] fix: Check import behaviour --- Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs index 41969fcc..6d622152 100644 --- a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs +++ b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs @@ -1,10 +1,10 @@ using Bogus; +using BookingSystem.AspNetCore.Helpers; using OpenActive.DatasetSite.NET; using OpenActive.FakeDatabase.NET; using OpenActive.NET; using OpenActive.NET.Rpde.Version1; using OpenActive.Server.NET.OpenBookingHelper; -// using BookingSystem.AspNetCore.Helpers; using ServiceStack.OrmLite; using System; using System.Collections.Generic; From 44dfa1e95d452e38c1286f7cc6eae0e5ede72ae6 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 12:20:30 +0100 Subject: [PATCH 12/34] fix: Check import behaviour --- .../BookingSystem.AspNetFramework.csproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 63310af8..875e4144 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -485,6 +485,10 @@ + + {29A8AF39-ED3C-4433-8103-3535CE8C32EC} + BookingSystem.AspNetCore + {81c43fe1-aa19-435f-95a3-6aadfe9637fb} OpenActive.FakeDatabase.NET From 23f2774cf5ad1951cbec2bb73fbc6eee9d5eb7ce Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 12:43:19 +0100 Subject: [PATCH 13/34] fix: Check import behaviour --- .../BookingSystem.AspNetFramework.csproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 875e4144..63310af8 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -485,10 +485,6 @@ - - {29A8AF39-ED3C-4433-8103-3535CE8C32EC} - BookingSystem.AspNetCore - {81c43fe1-aa19-435f-95a3-6aadfe9637fb} OpenActive.FakeDatabase.NET From 6d8535b49abad9f047b77dbc28d33a3743f3d0f0 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 12:48:26 +0100 Subject: [PATCH 14/34] fix: Copy FeedGenerationHelper.cs from BookingSystem.AspNetCore to BookingSystem.AspNetFramework --- .../Helpers/FeedGenerationHelper.cs | 305 ++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs diff --git a/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs b/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs new file mode 100644 index 00000000..f13ae508 --- /dev/null +++ b/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs @@ -0,0 +1,305 @@ +using System; +using OpenActive.NET; +using System.Collections.Generic; +using OpenActive.FakeDatabase.NET; +using Bogus; +using System.Linq; +using Bogus.DataSets; +using OpenActive.Server.NET.OpenBookingHelper; +using System.Security.Policy; + + + +namespace BookingSystem.AspNetCore.Helpers +{ + public static class FeedGenerationHelper + { + public static IList GetRandomElementsOf(Faker faker, IList list, bool isGoldenRecord, int minimumNumberOfElements = 0, int maximumNumberOfElements = 0) + { + // If this is for the golden record, return the whole list so that all the possible data values are returned + if (isGoldenRecord) return list; + + // If maximumNumberOfElements is the default value, use list.Count, if it's been set, use that + var max = maximumNumberOfElements == 0 ? list.Count : maximumNumberOfElements; + // Otherwise return a random number of elements from the list + var randomNumberOfElementsToReturn = faker.Random.Number(minimumNumberOfElements, max); + return faker.Random.ListItems(list, randomNumberOfElementsToReturn); + } + + + public static Place GetPlaceById(long placeId) + { + // Three hardcoded fake places + switch (placeId) + { + case 1: + return new Place + { + Identifier = 1, + Id = new Uri($"https://example.com/place/{placeId}"), + Name = "Post-ercise Plaza", + Description = "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + Address = new PostalAddress + { + StreetAddress = "Kings Mead House", + AddressLocality = "Oxford", + AddressRegion = "Oxfordshire", + PostalCode = "OX1 1AA", + AddressCountry = "GB" + }, + Geo = new GeoCoordinates + { + Latitude = (decimal?)51.7502, + Longitude = (decimal?)-1.2674 + }, + Image = new List { + new ImageObject + { + Url = new Uri("https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg") + }, + }, + Telephone = "01865 000001", + Url = new Uri("https://en.wikipedia.org/wiki/Post_Office_Limited"), + AmenityFeature = new List + { + new ChangingFacilities { Name = "Changing Facilities", Value = true }, + new Showers { Name = "Showers", Value = true }, + new Lockers { Name = "Lockers", Value = true }, + new Towels { Name = "Towels", Value = false }, + new Creche { Name = "Creche", Value = false }, + new Parking { Name = "Parking", Value = false } + }, + OpeningHoursSpecification = new List + { + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Sunday }, Opens = "09:00", Closes = "17:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Monday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Tuesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Wednesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Thursday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Friday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Saturday }, Opens = "09:00", Closes = "17:30"} + } + }; + case 2: + return new Place + { + Identifier = 2, + Id = new Uri($"https://example.com/place/{placeId}"), + Name = "Premier Lifters", + Description = "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + Address = new PostalAddress + { + StreetAddress = "Greyfriars Court, Paradise Square", + AddressLocality = "Oxford", + AddressRegion = "Oxfordshire", + PostalCode = "OX1 1BB", + AddressCountry = "GB" + }, + Geo = new GeoCoordinates + { + Latitude = (decimal?)51.7504933, + Longitude = (decimal?)-1.2620685 + }, + Image = new List { + new ImageObject + { + Url = new Uri("https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg") + }, + }, + Telephone = "01865 000002", + Url = new Uri("https://en.wikipedia.org/wiki/Premier_Inn"), + AmenityFeature = new List + { + new ChangingFacilities { Name = "Changing Facilities", Value = false }, + new Showers { Name = "Showers", Value = false }, + new Lockers { Name = "Lockers", Value = false }, + new Towels { Name = "Towels", Value = true }, + new Creche { Name = "Creche", Value = true }, + new Parking { Name = "Parking", Value = true } + }, + OpeningHoursSpecification = new List + { + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Sunday }, Opens = "09:00", Closes = "17:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Monday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Tuesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Wednesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Thursday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Friday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Saturday }, Opens = "09:00", Closes = "17:30"} + } + }; + case 3: + return new Place + { + Identifier = 3, + Id = new Uri($"https://example.com/place/{placeId}"), + Name = "Stroll & Stretch", + Description = "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + Address = new PostalAddress + { + StreetAddress = "Norfolk Street", + AddressLocality = "Oxford", + AddressRegion = "Oxfordshire", + PostalCode = "OX1 1UU", + AddressCountry = "GB" + }, + Geo = new GeoCoordinates + { + Latitude = (decimal?)51.749826, + Longitude = (decimal?)-1.261492 + }, + Image = new List { + new ImageObject + { + Url = new Uri("https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg") + }, + }, + Telephone = "01865 000003", + Url = new Uri("https://en.wikipedia.org/wiki/Shopping_center"), + OpeningHoursSpecification = new List + { + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Sunday }, Opens = "09:00", Closes = "17:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Monday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Tuesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Wednesday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Thursday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Friday }, Opens = "06:30", Closes = "21:30"}, + new OpeningHoursSpecification {DayOfWeek = new List {Schema.NET.DayOfWeek.Saturday }, Opens = "09:00", Closes = "17:30"} + } + }; + default: + return null; + } + } + + public static List OpenBookingFlowRequirement(bool requiresApproval, bool requiresAttendeeValidation, bool requiresAdditionalDetails, bool allowsProposalAmendment) + { + List openBookingFlowRequirement = null; + + if (requiresApproval) + { + openBookingFlowRequirement = openBookingFlowRequirement ?? new List(); + openBookingFlowRequirement.Add(OpenActive.NET.OpenBookingFlowRequirement.OpenBookingApproval); + } + + if (requiresAttendeeValidation) + { + openBookingFlowRequirement = openBookingFlowRequirement ?? new List(); + openBookingFlowRequirement.Add(OpenActive.NET.OpenBookingFlowRequirement.OpenBookingAttendeeDetails); + } + + if (requiresAdditionalDetails) + { + openBookingFlowRequirement = openBookingFlowRequirement ?? new List(); + openBookingFlowRequirement.Add(OpenActive.NET.OpenBookingFlowRequirement.OpenBookingIntakeForm); + } + + if (allowsProposalAmendment) + { + openBookingFlowRequirement = openBookingFlowRequirement ?? new List(); + openBookingFlowRequirement.Add(OpenActive.NET.OpenBookingFlowRequirement.OpenBookingNegotiation); + } + return openBookingFlowRequirement; + } + + public static string GenerateAttendeeInstructions(Faker faker, bool isGoldenRecord) + { + var listOfPossibleInstructions = new List(){ + "wear sportswear/gym clothes", + "wear comfortable loose clothing", + "come as you are", + "bring trainers", + "wear flat shoes", + "no footwear required" + }; + + return $"Clothing instructions: {string.Join(", ", GetRandomElementsOf(faker, listOfPossibleInstructions, isGoldenRecord, 1))}"; + } + + public static List GenerateAccessibilitySupport(Faker faker, bool isGoldenRecord) + { + var listOfAccessibilitySupports = new List + { + new Concept {Id = new Uri("https://openactive.io/accessibility-support#1393f2dc-3fcc-4be9-a99f-f1e51f5ad277"), PrefLabel = "Visual Impairment", InScheme = new Uri("https://openactive.io/accessibility-support")}, + new Concept {Id = new Uri("https://openactive.io/accessibility-support#2bfb7228-5969-4927-8435-38b5005a8771"), PrefLabel = "Hearing Impairment", InScheme = new Uri("https://openactive.io/accessibility-support")}, + new Concept {Id = new Uri("https://openactive.io/accessibility-support#40b9b11f-bdd3-4aeb-8984-2ecf74a14c7a"), PrefLabel = "Mental health issues", InScheme = new Uri("https://openactive.io/accessibility-support")} + }; + + return GetRandomElementsOf(faker, listOfAccessibilitySupports, isGoldenRecord, 1, 2).ToList(); + } + + public static List GenerateImages(Faker faker, bool isGoldenRecord) + { + static Uri GenerateImageUrl(int width, int height, int seed) + { + return new Uri($"https://picsum.photos/{width}/{height}?image={seed}"); + } + + var images = new List(); + var min = isGoldenRecord ? 4 : 1; + var imageCount = faker.Random.Number(min, 3); + for (var i = 0; i < imageCount; i++) + { + var imageSeed = faker.Random.Number(1083); + var thumbnails = new List { + new ImageObject{Url = GenerateImageUrl(672, 414, imageSeed), Width = 672, Height = 414}, + new ImageObject{Url = GenerateImageUrl(300, 200, imageSeed), Width = 300, Height = 200}, + new ImageObject{Url = GenerateImageUrl(100, 100, imageSeed), Width = 100, Height = 100} + }; + var image = new ImageObject + { + Url = GenerateImageUrl(1024, 724, imageSeed), + Thumbnail = GetRandomElementsOf(faker, thumbnails, isGoldenRecord, 1, 1).ToList() + }; + images.Add(image); + } + return images; + } + + public static Organization GenerateOrganization(Faker faker, SellerTable seller, bool isSingleSeller, Uri organizationId) + { + if (isSingleSeller) + return new Organization + { + Id = organizationId, + Name = "Test Seller", + TaxMode = TaxMode.TaxGross, + TermsOfService = new List + { + new PrivacyPolicy + { + Name = "Privacy Policy", + Url = new Uri("https://example.com/privacy.html"), + RequiresExplicitConsent = false + } + }, + IsOpenBookingAllowed = true, + Telephone = faker.Phone.PhoneNumber("0#### ######"), + SameAs = new List { new Uri("https://socialmedia.com/testseller") } + }; + + return new Organization + { + Id = organizationId, + Name = seller.Name, + TaxMode = seller.IsTaxGross ? TaxMode.TaxGross : TaxMode.TaxNet, + TermsOfService = new List + { + new PrivacyPolicy + { + Name = "Privacy Policy", + Url = new Uri("https://example.com/privacy.html"), + RequiresExplicitConsent = false + } + }, + IsOpenBookingAllowed = true, + Url = new Uri(faker.Internet.Url()), + Telephone = faker.Phone.PhoneNumber("0#### ######"), + SameAs = new List { new Uri($"https://socialmedia.com/{seller.Name.Replace(" ", "")}") } + }; + + + } + + } +} From a2f56761dc7631e310ad59650f1d8304d6495a7c Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 12:56:34 +0100 Subject: [PATCH 15/34] fix: Change BookingSystem.AspNetCore.Helpers to BookingSystem.AspNetFramework.Helpers --- Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs index 6d622152..4b613cf4 100644 --- a/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs +++ b/Examples/BookingSystem.AspNetFramework/Feeds/FacilitiesFeeds.cs @@ -1,5 +1,5 @@ using Bogus; -using BookingSystem.AspNetCore.Helpers; +using BookingSystem.AspNetFramework.Helpers; using OpenActive.DatasetSite.NET; using OpenActive.FakeDatabase.NET; using OpenActive.NET; From 4469e3c2286e0a8c4db355f69e2b6d5005771fdb Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 13:21:15 +0100 Subject: [PATCH 16/34] fix: Change BookingSystem.AspNetCore.Helpers to BookingSystem.AspNetFramework.Helpers --- Examples/BookingSystem.AspNetFramework/Feeds/SessionsFeeds.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Feeds/SessionsFeeds.cs b/Examples/BookingSystem.AspNetFramework/Feeds/SessionsFeeds.cs index 302aa382..3dd233e1 100644 --- a/Examples/BookingSystem.AspNetFramework/Feeds/SessionsFeeds.cs +++ b/Examples/BookingSystem.AspNetFramework/Feeds/SessionsFeeds.cs @@ -9,7 +9,7 @@ using System.Linq; using System.Threading.Tasks; using Bogus; -using BookingSystem.AspNetCore.Helpers; +using BookingSystem.AspNetFramework.Helpers; using ServiceStack; using System.Globalization; From 98268c4e074ffd04db70f3e22fc63fb459e4ce61 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 13:22:27 +0100 Subject: [PATCH 17/34] fix: Change BookingSystem.AspNetCore.Helpers to BookingSystem.AspNetFramework.Helpers --- Examples/BookingSystem.AspNetFramework/Stores/FacilityStore.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Stores/FacilityStore.cs b/Examples/BookingSystem.AspNetFramework/Stores/FacilityStore.cs index f506d119..3273aca9 100644 --- a/Examples/BookingSystem.AspNetFramework/Stores/FacilityStore.cs +++ b/Examples/BookingSystem.AspNetFramework/Stores/FacilityStore.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using BookingSystem.AspNetCore.Helpers; +using BookingSystem.AspNetFramework.Helpers; using OpenActive.DatasetSite.NET; using OpenActive.FakeDatabase.NET; using OpenActive.NET; From cc6fdc9111e27ef013c055f32a8aa68b3a039d84 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 13:24:28 +0100 Subject: [PATCH 18/34] fix: Change BookingSystem.AspNetCore.Helpers to BookingSystem.AspNetFramework.Helpers --- Examples/BookingSystem.AspNetFramework/Stores/SessionStore.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Stores/SessionStore.cs b/Examples/BookingSystem.AspNetFramework/Stores/SessionStore.cs index 912579f7..7a14b1ed 100644 --- a/Examples/BookingSystem.AspNetFramework/Stores/SessionStore.cs +++ b/Examples/BookingSystem.AspNetFramework/Stores/SessionStore.cs @@ -8,7 +8,7 @@ using OpenActive.FakeDatabase.NET; using RequiredStatusType = OpenActive.FakeDatabase.NET.RequiredStatusType; using System.Threading.Tasks; -using BookingSystem.AspNetCore.Helpers; +using BookingSystem.AspNetFramework.Helpers; namespace BookingSystem { From 81a25de5511663a9e62fac6df48808dc85edf490 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 14:21:59 +0100 Subject: [PATCH 19/34] fix: Change namespace of FeedGenerationHelper.cs --- .../Helpers/FeedGenerationHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs b/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs index f13ae508..16214545 100644 --- a/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs +++ b/Examples/BookingSystem.AspNetFramework/Helpers/FeedGenerationHelper.cs @@ -10,7 +10,7 @@ -namespace BookingSystem.AspNetCore.Helpers +namespace BookingSystem.AspNetFramework.Helpers { public static class FeedGenerationHelper { From b6176705fae599928c75fe1424ffe3c70772da48 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 14:54:27 +0100 Subject: [PATCH 20/34] fix: Add FeedGenerationHelper.cs to BookingSystem.AspNetFramework.csproj --- .../BookingSystem.AspNetFramework.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 63310af8..04be17d2 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -449,6 +449,7 @@ Global.asax + From 73bd13477977874b2bed35a63408ab1861648236 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 17 Apr 2025 15:44:02 +0100 Subject: [PATCH 21/34] fix: Add IdempotencyStore.cs to BookingSystem.AspNetFramework.csproj --- .../BookingSystem.AspNetFramework.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 04be17d2..202225f0 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -462,6 +462,7 @@ + From 949a1c3fe6e65604c25fb3e3a5a775aa4ffe55c6 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Wed, 7 May 2025 18:26:58 +0100 Subject: [PATCH 22/34] fix: Add System.Runtime.Caching to BookingSystem.AspNetFramework.csproj --- .../BookingSystem.AspNetFramework.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 202225f0..8efa888e 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -317,6 +317,7 @@ + True From 0d7231b2fb02c7f87635cc3c35bd0a58bc111b28 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 11:04:43 +0100 Subject: [PATCH 23/34] fix: Add logger --- Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 340ea85c..97ce75f5 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -1,6 +1,7 @@ using BookingSystem.AspNetFramework.Helpers; using BookingSystem.AspNetFramework.Controllers; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; using OpenActive.Server.NET; using System.Configuration; using System.Web.Http; @@ -32,7 +33,8 @@ public static void Register(HttpConfiguration config) services.AddTransient(); services.AddTransient(); services.AddTransient(); - services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false))); + var logger = LoggerFactory.Create(builder => builder.AddConsole()).CreateLogger(); + services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); config.DependencyResolver = resolver; From 5466515ea492b8a5642beb7b11391a587923f565 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 11:27:30 +0100 Subject: [PATCH 24/34] fix: Change Microsoft.Extension.Logging.Abstractions version to align with other csproj versions --- .../OpenActive.FakeDatabase.NET.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj b/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj index 7605efa9..069c8a24 100644 --- a/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj +++ b/Fakes/OpenActive.FakeDatabase.NET/OpenActive.FakeDatabase.NET.csproj @@ -31,7 +31,7 @@ - + From 421f9a878279da3ff73d82e080c22145ea8fbade Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 11:48:03 +0100 Subject: [PATCH 25/34] fix: Remove Create() method which may not exist in this version of LoggerFactory --- Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 97ce75f5..054d8888 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -33,7 +33,7 @@ public static void Register(HttpConfiguration config) services.AddTransient(); services.AddTransient(); services.AddTransient(); - var logger = LoggerFactory.Create(builder => builder.AddConsole()).CreateLogger(); + var logger = LoggerFactory.AddConsole().CreateLogger(); services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); From 899017e22e5ff8a24e631b1004fb9ffd06d3e2a9 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 12:05:12 +0100 Subject: [PATCH 26/34] fix: Add import for Logging.Console --- Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 054d8888..1f67df7b 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -2,6 +2,7 @@ using BookingSystem.AspNetFramework.Controllers; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Console; using OpenActive.Server.NET; using System.Configuration; using System.Web.Http; From f42d6c9c5c69e8552bba2ebbfd02210a03fe62eb Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 12:19:01 +0100 Subject: [PATCH 27/34] fix: Add import for Logging.Console --- .../BookingSystem.AspNetFramework.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 8efa888e..5b373725 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -154,6 +154,9 @@ ..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + ..\..\packages\Microsoft.Extensions.Logging.Console.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Console.dll + ..\..\packages\Microsoft.Extensions.ObjectPool.2.1.0\lib\netstandard2.0\Microsoft.Extensions.ObjectPool.dll From 84d90a80b979d9fd17b50799e997f4cbc7d6edf7 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 12:44:20 +0100 Subject: [PATCH 28/34] fix: Try another way of making logger --- .../BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 1f67df7b..7bcbe677 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -2,7 +2,7 @@ using BookingSystem.AspNetFramework.Controllers; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Console; +// using Microsoft.Extensions.Logging.Console; using OpenActive.Server.NET; using System.Configuration; using System.Web.Http; @@ -34,7 +34,8 @@ public static void Register(HttpConfiguration config) services.AddTransient(); services.AddTransient(); services.AddTransient(); - var logger = LoggerFactory.AddConsole().CreateLogger(); + // var logger = LoggerFactory.AddConsole().CreateLogger(); + var logger = new ILogger(); services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); From bac1b2e0de5abdcb8e4c8e04f0bd9e3460f9fa39 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 13:28:06 +0100 Subject: [PATCH 29/34] fix: Try another way of making logger --- Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 7bcbe677..5bcc50ba 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -35,7 +35,8 @@ public static void Register(HttpConfiguration config) services.AddTransient(); services.AddTransient(); // var logger = LoggerFactory.AddConsole().CreateLogger(); - var logger = new ILogger(); + // var logger = new ILogger(); + var logger = new NullLogger(); services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); From 3347fe9cd3b759be29069957a7582ecc208c29df Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 13:37:17 +0100 Subject: [PATCH 30/34] fix: Try --- .../BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index 5bcc50ba..ff3f5dc4 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -36,8 +36,9 @@ public static void Register(HttpConfiguration config) services.AddTransient(); // var logger = LoggerFactory.AddConsole().CreateLogger(); // var logger = new ILogger(); - var logger = new NullLogger(); - services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); + // var logger = new NullLogger(); + // new FakeBookingSystem(false, logger) + services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, sp.GetRequiredService())); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); config.DependencyResolver = resolver; From b81ce88d25f84f68bf31c2acb7c8bd3f1574ae34 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 13:56:03 +0100 Subject: [PATCH 31/34] fix: Add import for Logging.Abstractions --- .../BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index ff3f5dc4..f89f21b9 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; // using Microsoft.Extensions.Logging.Console; +using Microsoft.Extensions.Logging.Abstractions; using OpenActive.Server.NET; using System.Configuration; using System.Web.Http; @@ -36,9 +37,8 @@ public static void Register(HttpConfiguration config) services.AddTransient(); // var logger = LoggerFactory.AddConsole().CreateLogger(); // var logger = new ILogger(); - // var logger = new NullLogger(); - // new FakeBookingSystem(false, logger) - services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, sp.GetRequiredService())); + var logger = new NullLogger(); + services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); config.DependencyResolver = resolver; From 0ad1bc6447a066d3112e01e88bf1ba193c4a1dc3 Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 15:47:40 +0100 Subject: [PATCH 32/34] Fix: Tidy --- .../BookingSystem.AspNetFramework/Utils/ServiceConfig.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs index f89f21b9..589f2d0e 100644 --- a/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs +++ b/Examples/BookingSystem.AspNetFramework/Utils/ServiceConfig.cs @@ -1,8 +1,6 @@ using BookingSystem.AspNetFramework.Helpers; using BookingSystem.AspNetFramework.Controllers; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -// using Microsoft.Extensions.Logging.Console; using Microsoft.Extensions.Logging.Abstractions; using OpenActive.Server.NET; using System.Configuration; @@ -35,10 +33,7 @@ public static void Register(HttpConfiguration config) services.AddTransient(); services.AddTransient(); services.AddTransient(); - // var logger = LoggerFactory.AddConsole().CreateLogger(); - // var logger = new ILogger(); - var logger = new NullLogger(); - services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, logger))); + services.AddSingleton(sp => EngineConfig.CreateStoreBookingEngine(appSettings, new FakeBookingSystem(false, new NullLogger()))); var resolver = new DependencyResolver(services.BuildServiceProvider(true)); config.DependencyResolver = resolver; From af19ec31f62fa48da048525c50700f11d0f1330b Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Thu, 8 May 2025 16:35:11 +0100 Subject: [PATCH 33/34] Fix: Tidy --- .../BookingSystem.AspNetFramework.csproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj index 5b373725..8efa888e 100644 --- a/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj +++ b/Examples/BookingSystem.AspNetFramework/BookingSystem.AspNetFramework.csproj @@ -154,9 +154,6 @@ ..\..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll - - ..\..\packages\Microsoft.Extensions.Logging.Console.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Console.dll - ..\..\packages\Microsoft.Extensions.ObjectPool.2.1.0\lib\netstandard2.0\Microsoft.Extensions.ObjectPool.dll From 4a6b35b8c3c4cadc2bfa81835c82bd59e46d05ef Mon Sep 17 00:00:00 2001 From: Darren Temple Date: Fri, 27 Jun 2025 17:38:38 +0100 Subject: [PATCH 34/34] fix: Update actions and VM --- .github/workflows/openactive-test-suite.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/openactive-test-suite.yml b/.github/workflows/openactive-test-suite.yml index 06f8780c..a20afc24 100644 --- a/.github/workflows/openactive-test-suite.yml +++ b/.github/workflows/openactive-test-suite.yml @@ -182,8 +182,8 @@ jobs: needs: - test-server - test-fake-database - # runs on an Windows 2019 virtual machine, not an Ubuntu machine - runs-on: windows-2019 + # runs on a Windows virtual machine, not an Ubuntu virtual machine (latest is used to force failure if dependencies become outdated) + runs-on: windows-latest strategy: fail-fast: false @@ -213,9 +213,9 @@ jobs: # Building and deploying Framework is done using `msbuild` as opposed to `dotnet build`/`dotnet run`. It is started # using IIS Express - name: Setup MSBuild path - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Setup NuGet - uses: NuGet/setup-nuget@v1.0.5 + uses: NuGet/setup-nuget@v2 - name: Install OpenActive.Server.NET dependencies run: nuget restore .\server\ - name: Build .NET Framework Reference Implementation