public void StepsRelatedDataViewFilterShouldNotReturnPersonWithNoRelatedSteps() { var settings = new StepDataViewFilter.FilterSettings(); // Filter for DataView="Steps Completed in 2001"; settings.DataViewGuid = TestGuids.Steps.DataViewStepsCompleted2001Guid; var personQuery = GetPersonQueryWithStepDataViewFilter(settings); var results = personQuery.ToList(); // Verify Ben Jones not found - Alpha Attendee in 2015. Assert.That.IsFalse(results.Any(x => x.Guid == TestGuids.Steps.BenJonesPersonGuid)); }
public void StepsRelatedDataViewFilterShouldReturnPersonWithRelatedSteps() { var settings = new StepDataViewFilter.FilterSettings(); // Filter for DataView="Steps Completed in 2001"; settings.DataViewGuid = TestGuids.Steps.DataViewStepsCompleted2001Guid; var personQuery = GetPersonQueryWithStepDataViewFilter(settings); var results = personQuery.ToList(); // Verify Ted Decker found - Baptised in 2001. Assert.That.IsTrue(results.Any(x => x.Guid == TestGuids.Steps.TedDeckerPersonGuid)); }
public void StepsRelatedDataViewFilterSettingsSerializationCanRoundTrip() { var startPeriod = new TimePeriod(new DateTime(2019, 2, 1), new DateTime(2019, 3, 1)); var endPeriod = new TimePeriod(new DateTime(2019, 4, 1), new DateTime(2019, 5, 1)); var settingsSource = new StepDataViewFilter.FilterSettings(); settingsSource.DataViewGuid = TestGuids.Steps.ProgramSacramentsGuid; var settingsString = settingsSource.ToSelectionString(); var settingsTarget = new StepDataViewFilter.FilterSettings(settingsString); Assert.That.AreEqual(TestGuids.Steps.ProgramSacramentsGuid, settingsTarget.DataViewGuid); }
/// <summary> /// Create a Person Query using the StepDataViewFilter with the specified settings. /// </summary> /// <param name="settings"></param> /// <returns></returns> private IQueryable <IEntity> GetPersonQueryWithStepDataViewFilter(StepDataViewFilter.FilterSettings settings) { var settingsFilter = new StepDataViewFilter(); var dataContext = new RockContext(); var personService = new PersonService(dataContext); var parameterExpression = personService.ParameterExpression; var predicate = settingsFilter.GetExpression(typeof(Rock.Model.Person), personService, parameterExpression, settings.ToSelectionString()); var personQuery = GetFilteredEntityQuery <Person>(dataContext, predicate, parameterExpression); return(personQuery); }