Ejemplo n.º 1
0
        public void Handle(WorkshopCreated @event)
        {
            using (var repository = this.contextFactory.Create())
            {
                var dto = DbContext.Find <WorkshopView>(@event.SourceId);
                if (dto != null)
                {
                    logger.LogWarning(
                        "Ignoring ConferenceCreated event for conference with ID {0} as it was already created.",
                        @event.SourceId);
                }
                else
                {
                    DbContext.Set <WorkshopView>().Add(
                        new WorkshopView(
                            @event.SourceId,
                            @event.Slug,
                            @event.Name,
                            @event.Description,
                            @event.Location,
                            @event.Tagline,
                            @event.TwitterSearch,
                            @event.RegisterDate,
                            Enumerable.Empty <AnchorType>()));

                    repository.SaveChanges();
                }
            }
        }
Ejemplo n.º 2
0
        private async Task DoWork(CancellationToken stoppingToken)
        {
            const string topic       = "build.workshop.something";
            var          newWorkshop = new WorkshopCreated
            {
                Id    = Guid.NewGuid().ToString(),
                Title = "Kafka - The basics",
                Date  = DateTime.Now.ToString("f")
            };

            using (var producer = _producerFactory.Create())
            {
                await producer.ProduceAsync(topic : topic, message : new Message <string, string>()
                {
                    Key   = Guid.NewGuid().ToString(),
                    Value = MessagingHelper.MessageToEnvelope(newWorkshop, "workshop_created", Guid.NewGuid().ToString())
                });
            }
        }