public void SetUp() { objectRepository = new Dictionary <string, object>(); ReflectionOptimizer.Enable(); var apiCtx = BuildRoutine.Context() .AsClientApplication( codingStyle = BuildRoutine.CodingStyle() .FromBasic() .AddCommonSystemTypes() .AddTypes(GetType().Assembly, t => t.Namespace?.StartsWith("Routine.Test.Performance.Domain") == true) .Use(p => p.ParseableValueTypePattern()) .Initializers.Add(c => c.PublicConstructors().When(type.of <BusinessPerformanceInput>())) .Datas.Add(c => c.Properties(m => !m.IsInherited(true, true))) .DataFetchedEagerly.Set(true) .Operations.Add(c => c.Methods(o => !o.IsInherited(true, true))) .IdExtractor.Set(c => c.IdByProperty(m => m.Returns <int>("Id"))) .Locator.Set(c => c.Locator(l => l.SingleBy(id => objectRepository[id]))) .ValueExtractor.Set(c => c.Value(e => e.By(o => $"{o}"))) ); objectService = apiCtx.ObjectService; rapp = apiCtx.Application; var _ = objectService.ApplicationModel; }
public static IApplicationBuilder UseRoutine(this IApplicationBuilder source, Func <CodingStyleBuilder, ICodingStyle> codingStyle, Func <ServiceConfigurationBuilder, IServiceConfiguration> serviceConfiguration = null, IRestClient restClient = null, IJsonSerializer serializer = null, ICache cache = null, Func <InterceptionConfigurationBuilder, IInterceptionConfiguration> interceptionConfiguration = null ) { serviceConfiguration ??= s => s.FromBasic(); interceptionConfiguration ??= i => i.FromBasic(); return(source.UseMiddleware <RoutineMiddleware>( BuildRoutine.Context() .Using( restClient: restClient, serializer: serializer, cache: cache, interceptionConfiguration: interceptionConfiguration(BuildRoutine.InterceptionConfig()) ) .AsServiceApplication(serviceConfiguration, codingStyle) )); }