public EndAuctionCommandHandler(IAuctionRepository auctionRepository, EventBusService eventBusService,
                                 ILogger <EndAuctionCommandHandler> logger) : base(logger)
 {
     _auctionRepository = auctionRepository;
     _eventBusService   = eventBusService;
     _logger            = logger;
 }
Esempio n. 2
0
 public BuyNowCommandHandler(IUserRepository userRepository, IAuctionRepository auctionRepository, EventBusService eventBusService, ILogger <BuyNowCommandHandler> logger) : base(logger)
 {
     _userRepository    = userRepository;
     _auctionRepository = auctionRepository;
     _eventBusService   = eventBusService;
     _logger            = logger;
 }
Esempio n. 3
0
 protected virtual void SubscribeForRequeueStuckEvents(EventBusService eventBus)
 {
     eventBus.Subscribe(Enque <RequeueStuckEvents>(TimeSpan.FromSeconds(40)));
     eventBus.Subscribe(this.WhenQueued());
     // enqueue a first event
     eventBus.Publish(new RequeueStuckEvents(), this);
 }
Esempio n. 4
0
        public EventQueueService(IEventQueueRepository repository, EventBusService eventBusService = null)
        {
            _repository      = repository;
            _eventBusService = eventBusService == null ? EventBus.Default : eventBusService;

            SubscribeForRequeueStuckEvents(eventBusService);
        }
 public SignUpCommandHandler(EventBusService eventBusService, IUserAuthenticationDataRepository userAuthenticationDataRepository, IUserRepository userRepository, ILogger <SignUpCommandHandler> logger) : base(logger)
 {
     _eventBusService = eventBusService;
     _userAuthenticationDataRepository = userAuthenticationDataRepository;
     _userRepository = userRepository;
     _logger         = logger;
 }
Esempio n. 6
0
 public UserRemoveAuctionImageCommandHandler(IAuctionRepository auctionRepository,
                                             EventBusService eventBusService,
                                             ILogger <UserRemoveAuctionImageCommandHandler> logger) : base(logger)
 {
     _auctionRepository = auctionRepository;
     _eventBusService   = eventBusService;
     _logger            = logger;
 }
 public BuyCreditsCommandHandler(ILogger <BuyCreditsCommandHandler> logger, IUserRepository userRepository,
                                 EventBusService eventBusService) : base(logger)
 {
     _userRepository  = userRepository;
     _eventBusService = eventBusService;
     RollbackHandlerRegistry.RegisterCommandRollbackHandler(nameof(BuyCreditsCommand), provider =>
     {
         return(new BuyCreditsCommandRollbackHandler(provider.Get <ILogger <BuyCreditsCommandRollbackHandler> >(), provider.Get <IUserRepository>()));
     });
 }
Esempio n. 8
0
 public BidCommandHandler(IAuctionRepository auctionRepository, EventBusService eventBusService,
                          ILogger <BidCommandHandler> logger, IRequestStatusService requestStatusService, IUserRepository userRepository) : base(logger)
 {
     _auctionRepository    = auctionRepository;
     _eventBusService      = eventBusService;
     _logger               = logger;
     _requestStatusService = requestStatusService;
     _userRepository       = userRepository;
     RollbackHandlerRegistry.RegisterCommandRollbackHandler(nameof(BidCommand),
                                                            provider => new BidRollbackHandler(provider));
 }
Esempio n. 9
0
 public CreateAuctionCommandHandlerDepedencies(IAuctionRepository auctionRepository, IAuctionSchedulerService auctionSchedulerService, EventBusService eventBusService, ILogger <CreateAuctionCommandHandler> logger, CategoryBuilder categoryBuilder, IUserRepository userRepository, IAuctionCreateSessionService auctionCreateSessionService, IAuctionImageRepository auctionImageRepository)
 {
     this.auctionRepository       = auctionRepository;
     this.auctionSchedulerService = auctionSchedulerService;
     this.eventBusService         = eventBusService;
     this.logger                      = logger;
     this.categoryBuilder             = categoryBuilder;
     this.userRepository              = userRepository;
     this.auctionCreateSessionService = auctionCreateSessionService;
     this.auctionImageRepository      = auctionImageRepository;
 }
 public UpdateAuctionCommandHandler(IAuctionRepository auctionRepository, IUserIdentityService userIdentityService,
                                    ILogger <UpdateAuctionCommandHandler> logger, IAuctionSchedulerService schedulerService,
                                    EventBusService eventBusService, CategoryBuilder categoryBuilder) : base(logger)
 {
     _auctionRepository   = auctionRepository;
     _userIdentityService = userIdentityService;
     _logger           = logger;
     _schedulerService = schedulerService;
     _eventBusService  = eventBusService;
     _categoryBuilder  = categoryBuilder;
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="app"></param>
        public static void RabbitMQAutoSubscribe(this IApplicationBuilder app, Container container)
        {
            EventBusService eventBus = container.GetRequiredService <EventBusService>();

            foreach (Type mType in typeof(IEvent).GetAssemblies())
            {
                foreach (Type hType in typeof(IEventHandler <>).GetMakeGenericType(mType))
                {
                    eventBus.Subscribe(mType, hType);
                }
            }
        }
Esempio n. 12
0
        public void SetupEventBus(
            params IEventConsumer[] eventHandlers)
        {
            var rabbitMqConnectionString =
                TestContextUtils.GetParameterOrDefault("rabbitmq-connection-string", "host=localhost");

            _rabbitMqEventBus = new RabbitMqEventBus(new RabbitMqSettings()
            {
                ConnectionString = rabbitMqConnectionString
            }, Mock.Of <ILogger <RabbitMqEventBus> >());
            _rabbitMqEventBus.InitSubscribers(eventHandlers.Select(h => new RabbitMqEventConsumerFactory(() => h, h.MessageType.Name)).ToArray());
            EventBus = new EventBusService(_rabbitMqEventBus, AppEventBuilder);
        }
        public static void RegisterServices(IServiceCollection services, IConfiguration configuration)
        {
            //services.AddMediatR(Assembly.GetExecutingAssembly());

            services.AddScoped <IAccountRepository, AccountRepository>();
            services.AddScoped <IExtractRepository, ExtractRepository>();

            services.AddScoped <IGetExtractQueryHandler, GetExtractQueryHandler>();
            services.AddDbContext <MSSQLContext>(x => x.UseSqlServer(@"Server=localhost;Database=AccountService;User Id=sa;Password=sa@12345;"));

            var mongoContext = new MongoContext
            {
                CollectionName   = "Account",
                ConnectionString = "mongodb://*****:*****@"Server=localhost;Database=AccountService;User Id=sa;Password=sa@12345;").Options)
                .InstancePerLifetimeScope();
            })
            .RegisterHandle <GenerateExtractCommandHandler>()
            .RegisterServices(build => {
                build.RegisterType <ExtractRepository>().As <IExtractRepository>();
                build.Register(c => mongoContext).As <IMongoContext>();
            })
            .Configure(settings =>
            {
                settings.HostName    = "localhost";
                settings.VirtualHost = "/";
                settings.UserName    = "******";
                settings.Password    = "******";
            });

            IEventBus bus = service.EventBus;

            services.AddSingleton <IEventBus>(bus);
            bus.Subscribe <TransferAccountRequest, TransferAccountCommandHandler>();
            bus.Subscribe <GenerateExtractRequest, GenerateExtractCommandHandler>();

            services.AddSingleton <IMongoContext>(mongoContext);
        }
 public EventQueueServiceWithDeserializationFailure(IEventQueueRepository repository, EventBusService eventBusService = null) : base(repository, eventBusService)
 {
 }
 public void EventQueueTestInit()
 {
     bus         = new EventBusService();
     repository  = new InMemoryQueueRepository();
     testService = new EventQueueServiceWithDeserializationFailure(repository, bus);
 }
Esempio n. 16
0
 public HTTPQueuedCommandHandlerMediator(IHTTPQueuedCommandStatusStorage commandStatusStorage, EventBusService eventBusService)
 {
     _commandStatusStorage = commandStatusStorage;
     _eventBusService      = eventBusService;
 }
 public EventQueueWithDebugLogs(IEventQueueRepository repository, EventBusService eventBusService = null)
     : base(repository, eventBusService)
 {
 }
 public void EventQueueTestInit()
 {
     bus         = new EventBusService();
     repository  = new InMemoryQueueRepository();
     testService = new EventQueueService(repository, bus);
 }
 public EventBusCommandHandlerMediator(EventBusService eventBusService, IUserIdentityService userIdentityService)
 {
     _eventBusService     = eventBusService;
     _userIdentityService = userIdentityService;
 }
Esempio n. 20
0
 public CancelBidCommandHandler(IAuctionRepository auctionRepository, IUserRepository userRepository, EventBusService eventBusService, ILogger <CancelBidCommandHandler> logger) : base(logger)
 {
     _auctionRepository = auctionRepository;
     _userRepository    = userRepository;
     _eventBusService   = eventBusService;
 }
Esempio n. 21
0
 public AsyncCallback(Delegate <TEvent> handler, EventBusService eventBusService)
 {
     _handler         = handler;
     _eventBusService = eventBusService;
 }