public async Task AddAsync(Topic topic)
        {
            var kafkaDbContext             = new KafkaDbContext(_kafkaDbContextFactory.Create().Options);
            var capabilityServiceDbContext = new CapabilityServiceDbContext(_capabilityServiceDbContextFactory.Create().Options);
            var daoTopic = EntityFramework.DAOs.Topic.CreateFrom(topic);

            await kafkaDbContext.Topics.AddAsync(daoTopic);

            await kafkaDbContext.SaveChangesAsync();

            try
            {
                await _outbox.QueueDomainEvents(topic);

                await capabilityServiceDbContext.SaveChangesAsync();
            }
            catch
            {
                kafkaDbContext.Topics.Remove(daoTopic);

                await kafkaDbContext.SaveChangesAsync();

                throw;
            }
        }
        public async Task DeleteAsync(Topic topic)
        {
            var kafkaDbContext = new KafkaDbContext(_kafkaDbContextFactory.Create().Options);
            var daoTopic       = EntityFramework.DAOs.Topic.CreateFrom(topic);

            kafkaDbContext.Topics.Remove(daoTopic);
            await kafkaDbContext.SaveChangesAsync();
        }
        public async Task <IEnumerable <Cluster> > GetAllAsync()
        {
            var kafkaDbcontext = new KafkaDbContext(_kafkaDbContextFactory.Create().Options);
            var daoClusters    = await kafkaDbcontext.Clusters.ToListAsync();

            var clusters = daoClusters.Select(c => Cluster.FromDao(c));

            return(clusters);
        }
        public async Task <Cluster> AddAsync(string name, string kafkaClusterId, bool enabled, Guid id, string description = "")
        {
            var cluster = Cluster.Create(kafkaClusterId, name, description, enabled, id);

            var kafkaDbcontext = new KafkaDbContext(_kafkaDbContextFactory.Create().Options);

            kafkaDbcontext.Clusters.Add(new EntityFramework.DAOs.Cluster
            {
                Id          = cluster.Id,
                Name        = cluster.Name,
                ClusterId   = cluster.ClusterId,
                Description = cluster.Description,
                Enabled     = cluster.Enabled
            });
            await kafkaDbcontext.SaveChangesAsync();


            return(cluster);
        }
Exemplo n.º 5
0
        public async Task <IEnumerable <Topic> > GetAllAsync()
        {
            var kafkaDbContext = new KafkaDbContext(_kafkaDbContextFactory.Create().Options);

            var daoTopics = await kafkaDbContext.Topics.ToListAsync();

            var topics = daoTopics.Select(t => Features.Kafka.Domain.Models.Topic.FromSimpleTypes(
                                              t.Id.ToString(),
                                              t.CapabilityId.ToString(),
                                              t.Name,
                                              t.Description,
                                              t.Partitions,
                                              t.Created,
                                              t.LastModified,
                                              t.Configurations
                                              )
                                          );

            return(topics);
        }