public async Task Handle(T @event) { using (var scope = UserAccessCompositionRoot.BeginLifetimeScope()) { using (var connection = scope.Resolve <ISqlConnectionFactory>().GetOpenConnection()) { string type = @event.GetType().FullName; var data = JsonConvert.SerializeObject(@event, new JsonSerializerSettings { ContractResolver = new AllPropertiesContractResolver() }); var sql = "INSERT INTO [users].[InboxMessages] (Id, OccurredOn, Type, Data) " + "VALUES (@Id, @OccurredOn, @Type, @Data)"; await connection.ExecuteScalarAsync(sql, new { @event.Id, @event.OccurredOn, type, data }); } } }
private void InitializeDbContext() { var context = UserAccessCompositionRoot.BeginLifetimeScope().Resolve <UserAccessContext>(); context.Database.Migrate(); UserAccessContextInitializer.Initialize(context); }
public async Task <bool> Handle(T @event) { try { using (var scope = UserAccessCompositionRoot.BeginLifetimeScope()) { using (var connection = scope.Resolve <ISqlConnectionFactory>().GetOpenConnection()) { var type = @event.GetType().FullName; var data = JsonConvert.SerializeObject(@event, new JsonSerializerSettings { ContractResolver = new AllPropertiesContractResolver() }); var sql = "INSERT INTO [Users].[InboxMessages] (Id, OccurredOn, Type, Data) " + "VALUES (@Id, @OccurredOn, @Type, @Data)"; await connection.ExecuteScalarAsync(sql, new { @event.Id, @event.OccurredOn, type, data }); return(true); } } } catch (Exception e) { throw new ApplicationException($"Unable to process message {@event}. Exception : {e.Message}"); } }
private static void SubscribeToIntegrationEvents(ILogger logger) { var eventBus = UserAccessCompositionRoot.BeginLifetimeScope().Resolve <IEventsBus>(); SubscribeToIntegrationEvent <NewUserRegisteredIntegrationEvent>(eventBus, logger); SubscribeToIntegrationEvent <MemberGeneralAttributesEditedIntegrationEvent>(eventBus, logger); }
internal static async Task ExecuteAsync(ICommand command) { using (var scope = UserAccessCompositionRoot.BeginLifetimeScope()) { var mediator = scope.Resolve <IMediator>(); await mediator.Send(command); } }
internal static async Task <TResult> ExecuteAsync <TResult>(ICommand <TResult> command) { using (var scope = UserAccessCompositionRoot.BeginLifetimeScope()) { var mediator = scope.Resolve <IMediator>(); return(await mediator.Send(command)); } }
public async Task <TResult> ExecuteQueryAsync <TResult>(IQuery <TResult> query) { using (var scope = UserAccessCompositionRoot.BeginLifetimeScope()) { var mediator = scope.Resolve <IMediator>(); return(await mediator.Send(query)); } }
private static void SubscribeToIntegrationEvents(ILogger logger) { var eventBus = UserAccessCompositionRoot.BeginLifetimeScope().Resolve <IEventsBus>(); SubscribeToIntegrationEvent <MemberCreatedIntegrationEvent>(eventBus, logger); }