Browse Source

Refactored the example solution. Added mongodb extensions

pull/10008/head
Halil İbrahim Kalkan 4 years ago
parent
commit
59dada8814
  1. 8
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs
  2. 36
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs
  3. 2
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventInbox.cs
  4. 2
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventOutbox.cs
  5. 81
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs
  6. 4
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventOutbox.cs
  7. 13
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs
  8. 13
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs
  9. 13
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj
  10. 27
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs
  11. 4
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs
  12. 103
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs
  13. 0
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/TodoDbContextModelSnapshot.cs
  14. 2
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/Program.cs
  15. 0
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContext.cs
  16. 0
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContextFactory.cs
  17. 0
      test/DistEvents/DistDemoApp.EfCoreRabbitMq/appsettings.json
  18. 9
      test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj
  19. 12
      test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs
  20. 0
      test/DistEvents/DistDemoApp.Shared/DemoService.cs
  21. 23
      test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj
  22. 4
      test/DistEvents/DistDemoApp.Shared/DistDemoAppHostedService.cs
  23. 39
      test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs
  24. 0
      test/DistEvents/DistDemoApp.Shared/TodoEventHandler.cs
  25. 0
      test/DistEvents/DistDemoApp.Shared/TodoItem.cs
  26. 0
      test/DistEvents/DistDemoApp.Shared/TodoItemEto.cs
  27. 0
      test/DistEvents/DistDemoApp.Shared/TodoItemObjectMapper.cs
  28. 0
      test/DistEvents/DistDemoApp.Shared/TodoSummary.cs
  29. 61
      test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs
  30. 33
      test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs
  31. 95
      test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs
  32. 34
      test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs
  33. 118
      test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs
  34. 31
      test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs
  35. 122
      test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs
  36. 25
      test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs
  37. 149
      test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs
  38. 32
      test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs
  39. 155
      test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs
  40. 35
      test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs
  41. 41
      test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs
  42. 14
      test/DistEvents/DistEventsDemo.sln

8
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/AbpMongoDbModule.cs

@ -35,13 +35,13 @@ namespace Volo.Abp.MongoDB
); );
context.Services.AddTransient( context.Services.AddTransient(
typeof(IDbContextEventOutbox<>), typeof(IMongoDbContextEventOutbox<>),
typeof(DbContextEventOutbox<>) typeof(MongoDbContextEventOutbox<>)
); );
context.Services.AddTransient( context.Services.AddTransient(
typeof(IDbContextEventInbox<>), typeof(IMongoDbContextEventInbox<>),
typeof(DbContextEventInbox<>) typeof(MongoDbContextEventInbox<>)
); );
} }
} }

36
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventInbox.cs

@ -1,36 +0,0 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.EventBus.Distributed;
namespace Volo.Abp.MongoDB.DistributedEvents
{
public class DbContextEventInbox<TDbContext> : IDbContextEventInbox<TDbContext>
where TDbContext : IHasEventInbox
{
public Task EnqueueAsync(IncomingEventInfo incomingEvent)
{
throw new NotImplementedException();
}
public Task<List<IncomingEventInfo>> GetWaitingEventsAsync(int maxCount)
{
throw new NotImplementedException();
}
public Task MarkAsProcessedAsync(Guid id)
{
throw new NotImplementedException();
}
public Task<bool> ExistsByMessageIdAsync(string messageId)
{
throw new NotImplementedException();
}
public Task DeleteOldEventsAsync()
{
throw new NotImplementedException();
}
}
}

2
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventInbox.cs → framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventInbox.cs

@ -2,7 +2,7 @@ using Volo.Abp.EventBus.Distributed;
namespace Volo.Abp.MongoDB.DistributedEvents namespace Volo.Abp.MongoDB.DistributedEvents
{ {
public interface IDbContextEventInbox<TDbContext> : IEventInbox public interface IMongoDbContextEventInbox<TDbContext> : IEventInbox
where TDbContext : IHasEventInbox where TDbContext : IHasEventInbox
{ {

2
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IDbContextEventOutbox.cs → framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/IMongoDbContextEventOutbox.cs

@ -2,7 +2,7 @@ using Volo.Abp.EventBus.Distributed;
namespace Volo.Abp.MongoDB.DistributedEvents namespace Volo.Abp.MongoDB.DistributedEvents
{ {
public interface IDbContextEventOutbox<TDbContext> : IEventOutbox public interface IMongoDbContextEventOutbox<TDbContext> : IEventOutbox
where TDbContext : IHasEventOutbox where TDbContext : IHasEventOutbox
{ {

81
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs

@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
namespace Volo.Abp.MongoDB.DistributedEvents
{
public class MongoDbContextEventInbox<TMongoDbContext> : IMongoDbContextEventInbox<TMongoDbContext>
where TMongoDbContext : IHasEventInbox
{
protected IMongoDbContextProvider<TMongoDbContext> DbContextProvider { get; }
protected IClock Clock { get; }
public MongoDbContextEventInbox(
IMongoDbContextProvider<TMongoDbContext> dbContextProvider,
IClock clock)
{
DbContextProvider = dbContextProvider;
Clock = clock;
}
[UnitOfWork]
public virtual async Task EnqueueAsync(IncomingEventInfo incomingEvent)
{
var dbContext = await DbContextProvider.GetDbContextAsync();
if (dbContext.SessionHandle != null)
{
await dbContext.IncomingEvents.InsertOneAsync(
dbContext.SessionHandle,
new IncomingEventRecord(incomingEvent)
);
}
else
{
await dbContext.IncomingEvents.InsertOneAsync(
new IncomingEventRecord(incomingEvent)
);
}
}
[UnitOfWork]
public virtual async Task<List<IncomingEventInfo>> GetWaitingEventsAsync(int maxCount)
{
var dbContext = await DbContextProvider.GetDbContextAsync();
var outgoingEventRecords = await dbContext
.IncomingEvents
.AsQueryable()
.Where(x => !x.Processed)
.OrderBy(x => x.CreationTime)
.Take(maxCount)
.ToListAsync();
return outgoingEventRecords
.Select(x => x.ToIncomingEventInfo())
.ToList();
}
[UnitOfWork]
public async Task MarkAsProcessedAsync(Guid id)
{
throw new NotImplementedException();
}
public Task<bool> ExistsByMessageIdAsync(string messageId)
{
throw new NotImplementedException();
}
public Task DeleteOldEventsAsync()
{
throw new NotImplementedException();
}
}
}

4
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/DbContextEventOutbox.cs → framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventOutbox.cs

@ -6,8 +6,8 @@ using Volo.Abp.Uow;
namespace Volo.Abp.MongoDB.DistributedEvents namespace Volo.Abp.MongoDB.DistributedEvents
{ {
public class DbContextEventOutbox<TDbContext> : IDbContextEventOutbox<TDbContext> public class MongoDbContextEventOutbox<TMongoDbContext> : IMongoDbContextEventOutbox<TMongoDbContext>
where TDbContext : IHasEventOutbox where TMongoDbContext : IHasEventOutbox
{ {
public Task EnqueueAsync(OutgoingEventInfo outgoingEvent) public Task EnqueueAsync(OutgoingEventInfo outgoingEvent)
{ {

13
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbInboxConfigExtensions.cs

@ -0,0 +1,13 @@
using Volo.Abp.EventBus.Distributed;
namespace Volo.Abp.MongoDB.DistributedEvents
{
public static class MongoDbInboxConfigExtensions
{
public static void UseMongoDbContext<TMongoDbContext>(this InboxConfig outboxConfig)
where TMongoDbContext : IHasEventInbox
{
outboxConfig.ImplementationType = typeof(IMongoDbContextEventInbox<TMongoDbContext>);
}
}
}

13
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbOutboxConfigExtensions.cs

@ -0,0 +1,13 @@
using Volo.Abp.EventBus.Distributed;
namespace Volo.Abp.MongoDB.DistributedEvents
{
public static class MongoDbOutboxConfigExtensions
{
public static void UseMongoDbContext<TMongoDbContext>(this OutboxConfig outboxConfig)
where TMongoDbContext : IHasEventOutbox
{
outboxConfig.ImplementationType = typeof(IMongoDbContextEventOutbox<TMongoDbContext>);
}
}
}

13
test/DistEvents/DistDemoApp/DistDemoApp.csproj → test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoApp.EfCoreRabbitMq.csproj

@ -3,22 +3,13 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace>DistDemoApp</RootNamespace>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="DistributedLock.Redis" Version="1.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.*" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.4.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.EntityFrameworkCore.SqlServer\Volo.Abp.EntityFrameworkCore.SqlServer.csproj" /> <ProjectReference Include="..\..\..\framework\src\Volo.Abp.EntityFrameworkCore.SqlServer\Volo.Abp.EntityFrameworkCore.SqlServer.csproj" />
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.EventBus.RabbitMQ\Volo.Abp.EventBus.RabbitMQ.csproj" /> <ProjectReference Include="..\..\..\framework\src\Volo.Abp.EventBus.RabbitMQ\Volo.Abp.EventBus.RabbitMQ.csproj" />
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.EventBus.Boxes\Volo.Abp.EventBus.Boxes.csproj" /> <ProjectReference Include="..\DistDemoApp.Shared\DistDemoApp.Shared.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

27
test/DistEvents/DistDemoApp/DistDemoAppModule.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/DistDemoAppEfCoreRabbitMqModule.cs

@ -1,13 +1,7 @@
using Medallion.Threading;
using Medallion.Threading.Redis;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using StackExchange.Redis;
using Volo.Abp.Autofac;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.DistributedEvents; using Volo.Abp.EntityFrameworkCore.DistributedEvents;
using Volo.Abp.EntityFrameworkCore.SqlServer; using Volo.Abp.EntityFrameworkCore.SqlServer;
using Volo.Abp.EventBus.Boxes;
using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Distributed;
using Volo.Abp.EventBus.RabbitMq; using Volo.Abp.EventBus.RabbitMq;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -16,18 +10,13 @@ namespace DistDemoApp
{ {
[DependsOn( [DependsOn(
typeof(AbpEntityFrameworkCoreSqlServerModule), typeof(AbpEntityFrameworkCoreSqlServerModule),
typeof(AbpAutofacModule),
typeof(AbpEventBusRabbitMqModule), typeof(AbpEventBusRabbitMqModule),
typeof(AbpEventBusBoxesModule) typeof(DistDemoAppSharedModule)
)] )]
public class DistDemoAppModule : AbpModule public class DistDemoAppEfCoreRabbitMqModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = context.Services.GetConfiguration();
context.Services.AddHostedService<MyProjectNameHostedService>();
context.Services.AddAbpDbContext<TodoDbContext>(options => context.Services.AddAbpDbContext<TodoDbContext>(options =>
{ {
options.AddDefaultRepositories(); options.AddDefaultRepositories();
@ -38,12 +27,6 @@ namespace DistDemoApp
options.UseSqlServer(); options.UseSqlServer();
}); });
Configure<AbpDistributedEntityEventOptions>(options =>
{
options.EtoMappings.Add<TodoItem, TodoItemEto>();
options.AutoEventSelectors.Add<TodoItem>();
});
Configure<AbpDistributedEventBusOptions>(options => Configure<AbpDistributedEventBusOptions>(options =>
{ {
options.Outboxes.Configure(config => options.Outboxes.Configure(config =>
@ -56,12 +39,6 @@ namespace DistDemoApp
config.UseDbContext<TodoDbContext>(); config.UseDbContext<TodoDbContext>();
}); });
}); });
context.Services.AddSingleton<IDistributedLockProvider>(sp =>
{
var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
});
} }
} }
} }

4
test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.Designer.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.Designer.cs

@ -11,8 +11,8 @@ using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations namespace DistDemoApp.Migrations
{ {
[DbContext(typeof(TodoDbContext))] [DbContext(typeof(TodoDbContext))]
[Migration("20210910111009_Added_Inbox_New_Cols")] [Migration("20210910152547_Added_Boxes_Initial")]
partial class Added_Inbox_New_Cols partial class Added_Boxes_Initial
{ {
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
{ {

103
test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/20210910152547_Added_Boxes_Initial.cs

@ -0,0 +1,103 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Boxes_Initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AbpEventInbox",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
MessageId = table.Column<string>(type: "nvarchar(450)", nullable: true),
EventName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
EventData = table.Column<byte[]>(type: "varbinary(max)", nullable: false),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
Processed = table.Column<bool>(type: "bit", nullable: false),
ProcessedTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEventInbox", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AbpEventOutbox",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
EventName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
EventData = table.Column<byte[]>(type: "varbinary(max)", nullable: false),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEventOutbox", x => x.Id);
});
migrationBuilder.CreateTable(
name: "TodoItems",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Text = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_TodoItems", x => x.Id);
});
migrationBuilder.CreateTable(
name: "TodoSummaries",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Year = table.Column<int>(type: "int", nullable: false),
Month = table.Column<byte>(type: "tinyint", nullable: false),
Day = table.Column<byte>(type: "tinyint", nullable: false),
TotalCount = table.Column<int>(type: "int", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_TodoSummaries", x => x.Id);
});
migrationBuilder.CreateIndex(
name: "IX_AbpEventInbox_MessageId",
table: "AbpEventInbox",
column: "MessageId");
migrationBuilder.CreateIndex(
name: "IX_AbpEventInbox_Processed_CreationTime",
table: "AbpEventInbox",
columns: new[] { "Processed", "CreationTime" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpEventInbox");
migrationBuilder.DropTable(
name: "AbpEventOutbox");
migrationBuilder.DropTable(
name: "TodoItems");
migrationBuilder.DropTable(
name: "TodoSummaries");
}
}
}

0
test/DistEvents/DistDemoApp/Migrations/TodoDbContextModelSnapshot.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/Migrations/TodoDbContextModelSnapshot.cs

2
test/DistEvents/DistDemoApp/Program.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/Program.cs

@ -51,7 +51,7 @@ namespace DistDemoApp
}) })
.ConfigureServices((hostContext, services) => .ConfigureServices((hostContext, services) =>
{ {
services.AddApplication<DistDemoAppModule>(); services.AddApplication<DistDemoAppEfCoreRabbitMqModule>();
}); });
} }
} }

0
test/DistEvents/DistDemoApp/TodoDbContext.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContext.cs

0
test/DistEvents/DistDemoApp/TodoDbContextFactory.cs → test/DistEvents/DistDemoApp.EfCoreRabbitMq/TodoDbContextFactory.cs

0
test/DistEvents/DistDemoApp/appsettings.json → test/DistEvents/DistDemoApp.EfCoreRabbitMq/appsettings.json

9
test/DistEvents/DistDemoApp.MongoDbKafka/DistDemoApp.MongoDbKafka.csproj

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>DistDemoApp</RootNamespace>
</PropertyGroup>
</Project>

12
test/DistEvents/DistDemoApp.MongoDbKafka/Program.cs

@ -0,0 +1,12 @@
using System;
namespace DistDemoApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

0
test/DistEvents/DistDemoApp/DemoService.cs → test/DistEvents/DistDemoApp.Shared/DemoService.cs

23
test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj

@ -0,0 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>DistDemoApp</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DistributedLock.Redis" Version="1.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.*" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.4.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
<ProjectReference Include="..\..\..\framework\src\Volo.Abp.EventBus.Boxes\Volo.Abp.EventBus.Boxes.csproj" />
</ItemGroup>
</Project>

4
test/DistEvents/DistDemoApp/MyProjectNameHostedService.cs → test/DistEvents/DistDemoApp.Shared/DistDemoAppHostedService.cs

@ -6,13 +6,13 @@ using Volo.Abp;
namespace DistDemoApp namespace DistDemoApp
{ {
public class MyProjectNameHostedService : IHostedService public class DistDemoAppHostedService : IHostedService
{ {
private readonly IAbpApplicationWithExternalServiceProvider _application; private readonly IAbpApplicationWithExternalServiceProvider _application;
private readonly IServiceProvider _serviceProvider; private readonly IServiceProvider _serviceProvider;
private readonly DemoService _demoService; private readonly DemoService _demoService;
public MyProjectNameHostedService( public DistDemoAppHostedService(
IAbpApplicationWithExternalServiceProvider application, IAbpApplicationWithExternalServiceProvider application,
IServiceProvider serviceProvider, IServiceProvider serviceProvider,
DemoService demoService) DemoService demoService)

39
test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs

@ -0,0 +1,39 @@
using Medallion.Threading;
using Medallion.Threading.Redis;
using Microsoft.Extensions.DependencyInjection;
using StackExchange.Redis;
using Volo.Abp.Autofac;
using Volo.Abp.Domain;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.EventBus.Boxes;
using Volo.Abp.Modularity;
namespace DistDemoApp
{
[DependsOn(
typeof(AbpAutofacModule),
typeof(AbpDddDomainModule),
typeof(AbpEventBusBoxesModule)
)]
public class DistDemoAppSharedModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
context.Services.AddHostedService<DistDemoAppHostedService>();
Configure<AbpDistributedEntityEventOptions>(options =>
{
options.EtoMappings.Add<TodoItem, TodoItemEto>();
options.AutoEventSelectors.Add<TodoItem>();
});
context.Services.AddSingleton<IDistributedLockProvider>(sp =>
{
var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
});
}
}
}

0
test/DistEvents/DistDemoApp/TodoEventHandler.cs → test/DistEvents/DistDemoApp.Shared/TodoEventHandler.cs

0
test/DistEvents/DistDemoApp/TodoItem.cs → test/DistEvents/DistDemoApp.Shared/TodoItem.cs

0
test/DistEvents/DistDemoApp/TodoItemEto.cs → test/DistEvents/DistDemoApp.Shared/TodoItemEto.cs

0
test/DistEvents/DistDemoApp/TodoItemObjectMapper.cs → test/DistEvents/DistDemoApp.Shared/TodoItemObjectMapper.cs

0
test/DistEvents/DistDemoApp/TodoSummary.cs → test/DistEvents/DistDemoApp.Shared/TodoSummary.cs

61
test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.Designer.cs

@ -1,61 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210825110134_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
#pragma warning restore 612, 618
}
}
}

33
test/DistEvents/DistDemoApp/Migrations/20210825110134_Initial.cs

@ -1,33 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Initial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "TodoItems",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Text = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_TodoItems", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "TodoItems");
}
}
}

95
test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.Designer.cs

@ -1,95 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210825112717_Added_Summary_Table")]
partial class Added_Summary_Table
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
modelBuilder.Entity("DistDemoApp.TodoSummary", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<byte>("Day")
.HasColumnType("tinyint");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<byte>("Month")
.HasColumnType("tinyint");
b.Property<int>("TotalCount")
.HasColumnType("int");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("TodoSummaries");
});
#pragma warning restore 612, 618
}
}
}

34
test/DistEvents/DistDemoApp/Migrations/20210825112717_Added_Summary_Table.cs

@ -1,34 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Summary_Table : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "TodoSummaries",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Year = table.Column<int>(type: "int", nullable: false),
Month = table.Column<byte>(type: "tinyint", nullable: false),
Day = table.Column<byte>(type: "tinyint", nullable: false),
TotalCount = table.Column<int>(type: "int", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_TodoSummaries", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "TodoSummaries");
}
}
}

118
test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.Designer.cs

@ -1,118 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210908063422_Added_Outbox")]
partial class Added_Outbox
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
modelBuilder.Entity("DistDemoApp.TodoSummary", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<byte>("Day")
.HasColumnType("tinyint");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<byte>("Month")
.HasColumnType("tinyint");
b.Property<int>("TotalCount")
.HasColumnType("int");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("TodoSummaries");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.HasKey("Id");
b.ToTable("AbpEventOutbox");
});
#pragma warning restore 612, 618
}
}
}

31
test/DistEvents/DistDemoApp/Migrations/20210908063422_Added_Outbox.cs

@ -1,31 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Outbox : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AbpEventOutbox",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
EventName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
EventData = table.Column<byte[]>(type: "varbinary(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEventOutbox", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpEventOutbox");
}
}
}

122
test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.Designer.cs

@ -1,122 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210908075344_Added_Outbox_CreationTime")]
partial class Added_Outbox_CreationTime
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
modelBuilder.Entity("DistDemoApp.TodoSummary", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<byte>("Day")
.HasColumnType("tinyint");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<byte>("Month")
.HasColumnType("tinyint");
b.Property<int>("TotalCount")
.HasColumnType("int");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("TodoSummaries");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.HasKey("Id");
b.ToTable("AbpEventOutbox");
});
#pragma warning restore 612, 618
}
}
}

25
test/DistEvents/DistDemoApp/Migrations/20210908075344_Added_Outbox_CreationTime.cs

@ -1,25 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Outbox_CreationTime : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "CreationTime",
table: "AbpEventOutbox",
type: "datetime2",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CreationTime",
table: "AbpEventOutbox");
}
}
}

149
test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.Designer.cs

@ -1,149 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210909113934_Added_Inbox")]
partial class Added_Inbox
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
modelBuilder.Entity("DistDemoApp.TodoSummary", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<byte>("Day")
.HasColumnType("tinyint");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<byte>("Month")
.HasColumnType("tinyint");
b.Property<int>("TotalCount")
.HasColumnType("int");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("TodoSummaries");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.IncomingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.HasKey("Id");
b.ToTable("AbpEventInbox");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.HasKey("Id");
b.ToTable("AbpEventOutbox");
});
#pragma warning restore 612, 618
}
}
}

32
test/DistEvents/DistDemoApp/Migrations/20210909113934_Added_Inbox.cs

@ -1,32 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Inbox : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AbpEventInbox",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
EventName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
EventData = table.Column<byte[]>(type: "varbinary(max)", nullable: false),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEventInbox", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpEventInbox");
}
}
}

155
test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.Designer.cs

@ -1,155 +0,0 @@
// <auto-generated />
using System;
using DistDemoApp;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
namespace DistDemoApp.Migrations
{
[DbContext(typeof(TodoDbContext))]
[Migration("20210909182251_Added_Inbox_Process_Columns")]
partial class Added_Inbox_Process_Columns
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.9")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DistDemoApp.TodoItem", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.ToTable("TodoItems");
});
modelBuilder.Entity("DistDemoApp.TodoSummary", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<byte>("Day")
.HasColumnType("tinyint");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<byte>("Month")
.HasColumnType("tinyint");
b.Property<int>("TotalCount")
.HasColumnType("int");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("TodoSummaries");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.IncomingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<bool>("Processed")
.HasColumnType("bit");
b.Property<DateTime?>("ProcessedTime")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("AbpEventInbox");
});
modelBuilder.Entity("Volo.Abp.EntityFrameworkCore.DistributedEvents.OutgoingEventRecord", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<byte[]>("EventData")
.IsRequired()
.HasColumnType("varbinary(max)");
b.Property<string>("EventName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.HasKey("Id");
b.ToTable("AbpEventOutbox");
});
#pragma warning restore 612, 618
}
}
}

35
test/DistEvents/DistDemoApp/Migrations/20210909182251_Added_Inbox_Process_Columns.cs

@ -1,35 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Inbox_Process_Columns : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "Processed",
table: "AbpEventInbox",
type: "bit",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<DateTime>(
name: "ProcessedTime",
table: "AbpEventInbox",
type: "datetime2",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Processed",
table: "AbpEventInbox");
migrationBuilder.DropColumn(
name: "ProcessedTime",
table: "AbpEventInbox");
}
}
}

41
test/DistEvents/DistDemoApp/Migrations/20210910111009_Added_Inbox_New_Cols.cs

@ -1,41 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace DistDemoApp.Migrations
{
public partial class Added_Inbox_New_Cols : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "MessageId",
table: "AbpEventInbox",
type: "nvarchar(450)",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_AbpEventInbox_MessageId",
table: "AbpEventInbox",
column: "MessageId");
migrationBuilder.CreateIndex(
name: "IX_AbpEventInbox_Processed_CreationTime",
table: "AbpEventInbox",
columns: new[] { "Processed", "CreationTime" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_AbpEventInbox_MessageId",
table: "AbpEventInbox");
migrationBuilder.DropIndex(
name: "IX_AbpEventInbox_Processed_CreationTime",
table: "AbpEventInbox");
migrationBuilder.DropColumn(
name: "MessageId",
table: "AbpEventInbox");
}
}
}

14
test/DistEvents/DistEventsDemo.sln

@ -1,6 +1,10 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp", "DistDemoApp\DistDemoApp.csproj", "{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.EfCoreRabbitMq", "DistDemoApp.EfCoreRabbitMq\DistDemoApp.EfCoreRabbitMq.csproj", "{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.MongoDbKafka", "DistDemoApp.MongoDbKafka\DistDemoApp.MongoDbKafka.csproj", "{19762F48-4CDB-4723-A72F-D859C0DC815A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DistDemoApp.Shared", "DistDemoApp.Shared\DistDemoApp.Shared.csproj", "{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -12,5 +16,13 @@ Global
{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Debug|Any CPU.Build.0 = Debug|Any CPU {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.ActiveCfg = Release|Any CPU {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.Build.0 = Release|Any CPU {10DBC6BC-1269-4C68-9F6C-12209A3FBF5B}.Release|Any CPU.Build.0 = Release|Any CPU
{19762F48-4CDB-4723-A72F-D859C0DC815A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19762F48-4CDB-4723-A72F-D859C0DC815A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19762F48-4CDB-4723-A72F-D859C0DC815A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19762F48-4CDB-4723-A72F-D859C0DC815A}.Release|Any CPU.Build.0 = Release|Any CPU
{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C515F4E2-0ED3-4561-BC58-FC633B50E2EB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

Loading…
Cancel
Save