Exemplo n.º 1
0
        public override void PostInitialize()
        {
            var memberServiceDecorator = _container.Resolve<MemberServiceDecorator>();
        
            Func<CustomerRepositoryImpl> customerRepositoryFactory = () => new CustomerRepositoryImpl(_connectionStringName, new EntityPrimaryKeyGeneratorInterceptor(), _container.Resolve<AuditableInterceptor>());
            var commerceMembersService = new CommerceMembersServiceImpl(customerRepositoryFactory, _container.Resolve<IDynamicPropertyService>(), _container.Resolve<ISecurityService>(), memberServiceDecorator, _container.Resolve<IEventPublisher<MemberChangingEvent>>());

            memberServiceDecorator.RegisterMemberTypes(typeof(Organization), typeof(Contact), typeof(Vendor), typeof(Employee))
                                  .WithService(commerceMembersService)
                                  .WithSearchService(commerceMembersService);          


            //Next lines allow to use polymorph types in API controller methods
            var formatters = GlobalConfiguration.Configuration.Formatters;
            formatters.JsonFormatter.SerializerSettings.Converters.Add(new PolymorphicMemberJsonConverter(memberServiceDecorator));

            base.PostInitialize();
        }
 public MemberSearchServiceDecorator(CommerceMembersServiceImpl memberSearchService, MemberIndexedSearchService memberIndexedSearchService)
 {
     _memberSearchService        = memberSearchService;
     _memberIndexedSearchService = memberIndexedSearchService;
 }