public IEnumerable <IDataSource> FindFor(DataSourceFindContext context) { if (TryGetMetaMemberNameParts(context, out var memberNameParts) && TryGetMetaMember(memberNameParts, context, out var metaMember)) { var dataSource = metaMember.GetDataSource(); yield return(context.GetFinalDataSource(dataSource)); if (dataSource.IsConditional) { yield return(context.GetFallbackDataSource()); } } }
private static IDataSource GetSourceMemberDataSourceOrNull(DataSourceFindContext context) { var bestMatchingSourceMember = SourceMemberMatcher.GetMatchFor( context.ChildMappingData, out var contextMappingData); if (bestMatchingSourceMember == null) { return(null); } var sourceMemberDataSource = SourceMemberDataSource .For(bestMatchingSourceMember, contextMappingData.MapperData); return(context.GetFinalDataSource(sourceMemberDataSource, contextMappingData)); }
public IEnumerable <IDataSource> FindFor(DataSourceFindContext context) { if (context.ConfiguredDataSources.None()) { yield break; } foreach (var configuredDataSource in context.ConfiguredDataSources) { yield return(context.GetFinalDataSource(configuredDataSource)); if (!configuredDataSource.IsConditional) { yield break; } ++context.DataSourceIndex; } }
public IEnumerable <IDataSource> FindFor(DataSourceFindContext context) { if (!UseMaptimeDataSources(context, out var maptimeDataSources)) { yield break; } context.StopFind = true; foreach (var maptimeDataSource in maptimeDataSources) { yield return(context.GetFinalDataSource(maptimeDataSource)); if (maptimeDataSource.IsConditional) { continue; } yield break; } yield return(context.GetFallbackDataSource()); }