@@ -105,14 +105,14 @@ protected override async Task<List<RpdeItem<SessionSeries>>> GetRpdeItems(long?
105105 . SelectMulti < ClassTable , SellerTable > ( q )
106106 . Select ( result =>
107107 {
108- var intt = ( int ) result . Item1 . Modified ;
109108
110109 var faker = new Faker ( ) { Random = new Randomizer ( ( int ) result . Item1 . Id ) } ;
111110 // here we randomly decide whether the item is going to be a golden record or not by using Faker
112111 // See the README for more detail on golden records.
113- var isGoldenRecord = faker . Random . Bool ( ) ;
112+ var isGoldenRecord = faker . Random . Number ( 0 , 1 ) > 0.75 ;
114113
115- return new RpdeItem < SessionSeries >
114+
115+ var sessionSeriesRpdeItem = new RpdeItem < SessionSeries >
116116 {
117117 Kind = RpdeKind . SessionSeries ,
118118 Id = result . Item1 . Id ,
@@ -131,37 +131,48 @@ protected override async Task<List<RpdeItem<SessionSeries>>> GetRpdeItems(long?
131131 Identifier = result . Item1 . Id ,
132132 Name = GetNameAndActivityForSessions ( result . Item1 . Title , isGoldenRecord ) . Name ,
133133 EventAttendanceMode = MapAttendanceMode ( result . Item1 . AttendanceMode ) ,
134- Description = faker . Lorem . Paragraphs ( isGoldenRecord ? 4 : faker . Random . Number ( 4 ) ) ,
135- AttendeeInstructions = FeedGenerationHelper . GenerateAttendeeInstructions ( faker , isGoldenRecord ) ,
136- GenderRestriction = faker . Random . Enum < GenderRestrictionType > ( ) ,
137- AgeRange = GenerateAgeRange ( faker , isGoldenRecord ) ,
138- Level = faker . Random . ListItems ( new List < string > { "Beginner" , "Intermediate" , "Advanced" } , 1 ) . ToList ( ) ,
139134 Organizer = GenerateOrganizerOrPerson ( faker , result . Item2 ) ,
140- AccessibilitySupport = FeedGenerationHelper . GenerateAccessibilitySupport ( faker , isGoldenRecord ) ,
141- AccessibilityInformation = faker . Lorem . Paragraphs ( isGoldenRecord ? 2 : faker . Random . Number ( 2 ) ) ,
142- IsWheelchairAccessible = isGoldenRecord || faker . Random . Bool ( ) ? faker . Random . Bool ( ) : faker . Random . ListItem ( new List < bool ? > { true , false , null , null } ) ,
143- Category = GenerateCategory ( faker , isGoldenRecord ) ,
144- Image = FeedGenerationHelper . GenerateImages ( faker , isGoldenRecord ) ,
145- Video = isGoldenRecord || faker . Random . Bool ( ) ? new List < VideoObject > { new VideoObject { Url = new Uri ( "https://www.youtube.com/watch?v=xvDZZLqlc-0" ) } } : null ,
146- Leader = GenerateListOfPersons ( faker , isGoldenRecord , 2 ) ,
147- Contributor = GenerateListOfPersons ( faker , isGoldenRecord , 2 ) ,
148- IsCoached = isGoldenRecord || faker . Random . Bool ( ) ? faker . Random . Bool ( ) : faker . Random . ListItem ( new List < bool ? > { true , false , null , null } ) ,
149135 Offers = GenerateOffers ( faker , isGoldenRecord , result . Item1 ) ,
150136 // location MUST not be provided for fully virtual sessions
151137 Location = result . Item1 . AttendanceMode == AttendanceMode . Online ? null : FeedGenerationHelper . GetPlaceById ( result . Item1 . PlaceId ) ,
152- // beta:affiliatedLocation MAY be provided for fully virtual sessions
153- AffiliatedLocation = ( result . Item1 . AttendanceMode == AttendanceMode . Offline && faker . Random . Bool ( ) ) ? null : FeedGenerationHelper . GetPlaceById ( result . Item1 . PlaceId ) ,
154- EventSchedule = GenerateSchedules ( faker , isGoldenRecord ) ,
155- SchedulingNote = GenerateSchedulingNote ( faker , isGoldenRecord ) ,
156- IsAccessibleForFree = result . Item1 . Price == 0 ,
157138 Url = new Uri ( $ "https://www.example.com/sessions/{ result . Item1 . Id } ") ,
158139 Activity = GetNameAndActivityForSessions ( result . Item1 . Title , isGoldenRecord ) . Activity ,
159- Programme = GenerateBrand ( faker , isGoldenRecord ) ,
160- IsInteractivityPreferred = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? true : faker . Random . ListItem ( new List < bool ? > { true , false , null } ) ) ,
161- IsVirtuallyCoached = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? true : faker . Random . ListItem ( new List < bool ? > { true , false , null } ) ) ,
162- ParticipantSuppliedEquipment = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? OpenActive . NET . RequiredStatusType . Optional : faker . Random . ListItem ( new List < OpenActive . NET . RequiredStatusType ? > { OpenActive . NET . RequiredStatusType . Optional , OpenActive . NET . RequiredStatusType . Required , OpenActive . NET . RequiredStatusType . Unavailable , null } ) ) ,
163140 }
164141 } ;
142+
143+ // If this instance of the Reference Implementation is in Lorem Fitsum mode, then generate a comprehensive data.
144+ // If it is not (eg for a CI run), return only the minimal properties needed
145+ var IsLoremFitsumMode = _appSettings . FeatureFlags . IsLoremFitsumMode ;
146+ if ( IsLoremFitsumMode )
147+ {
148+ sessionSeriesRpdeItem . Data . Description = faker . Lorem . Paragraphs ( isGoldenRecord ? 4 : faker . Random . Number ( 4 ) ) ;
149+ sessionSeriesRpdeItem . Data . AttendeeInstructions = FeedGenerationHelper . GenerateAttendeeInstructions ( faker , isGoldenRecord ) ;
150+ sessionSeriesRpdeItem . Data . GenderRestriction = faker . Random . Enum < GenderRestrictionType > ( ) ;
151+ sessionSeriesRpdeItem . Data . AccessibilitySupport = FeedGenerationHelper . GenerateAccessibilitySupport ( faker , isGoldenRecord ) ;
152+ sessionSeriesRpdeItem . Data . AccessibilityInformation = faker . Lorem . Paragraphs ( isGoldenRecord ? 2 : faker . Random . Number ( 2 ) ) ;
153+ sessionSeriesRpdeItem . Data . IsWheelchairAccessible = isGoldenRecord || faker . Random . Bool ( ) ? faker . Random . Bool ( ) : faker . Random . ListItem ( new List < bool ? > { true , false , null , null } ) ;
154+ sessionSeriesRpdeItem . Data . Category = GenerateCategory ( faker , isGoldenRecord ) ;
155+ sessionSeriesRpdeItem . Data . Video = isGoldenRecord || faker . Random . Bool ( ) ? new List < VideoObject > { new VideoObject { Url = new Uri ( "https://www.youtube.com/watch?v=xvDZZLqlc-0" ) } } : null ;
156+ sessionSeriesRpdeItem . Data . Leader = GenerateListOfPersons ( faker , isGoldenRecord , 2 ) ;
157+ sessionSeriesRpdeItem . Data . Contributor = GenerateListOfPersons ( faker , isGoldenRecord , 2 ) ;
158+ sessionSeriesRpdeItem . Data . AgeRange = GenerateAgeRange ( faker , isGoldenRecord ) ;
159+ sessionSeriesRpdeItem . Data . Image = FeedGenerationHelper . GenerateImages ( faker , isGoldenRecord ) ;
160+ sessionSeriesRpdeItem . Data . Level = faker . Random . ListItems ( new List < string > { "Beginner" , "Intermediate" , "Advanced" } , 1 ) . ToList ( ) ;
161+ sessionSeriesRpdeItem . Data . IsCoached = isGoldenRecord || faker . Random . Bool ( ) ? faker . Random . Bool ( ) : faker . Random . ListItem ( new List < bool ? > { true , false , null , null } ) ;
162+ // beta:affiliatedLocation MAY be provided for fully virtual sessions
163+ sessionSeriesRpdeItem . Data . AffiliatedLocation = ( result . Item1 . AttendanceMode == AttendanceMode . Offline && faker . Random . Bool ( ) ) ? null : FeedGenerationHelper . GetPlaceById ( result . Item1 . PlaceId ) ;
164+ sessionSeriesRpdeItem . Data . EventSchedule = GenerateSchedules ( faker , isGoldenRecord ) ;
165+ sessionSeriesRpdeItem . Data . SchedulingNote = GenerateSchedulingNote ( faker , isGoldenRecord ) ;
166+ sessionSeriesRpdeItem . Data . IsAccessibleForFree = result . Item1 . Price == 0 ;
167+ sessionSeriesRpdeItem . Data . Programme = GenerateBrand ( faker , isGoldenRecord ) ;
168+ sessionSeriesRpdeItem . Data . IsInteractivityPreferred = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? true : faker . Random . ListItem ( new List < bool ? > { true , false , null } ) ) ;
169+ sessionSeriesRpdeItem . Data . IsVirtuallyCoached = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? true : faker . Random . ListItem ( new List < bool ? > { true , false , null } ) ) ;
170+ sessionSeriesRpdeItem . Data . ParticipantSuppliedEquipment = result . Item1 . AttendanceMode == AttendanceMode . Offline ? null : ( isGoldenRecord ? OpenActive . NET . RequiredStatusType . Optional : faker . Random . ListItem ( new List < OpenActive . NET . RequiredStatusType ? > { OpenActive . NET . RequiredStatusType . Optional , OpenActive . NET . RequiredStatusType . Required , OpenActive . NET . RequiredStatusType . Unavailable , null } ) ) ;
171+
172+ }
173+
174+
175+ return sessionSeriesRpdeItem ;
165176 } ) ;
166177
167178 return query . ToList ( ) ;
0 commit comments