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;
        }
示例#2
0
        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)
                       ));
        }