Skip to content

Commit

Permalink
Event repository (Avanade#112)
Browse files Browse the repository at this point in the history
* Revert "Revert "event-repository""

This reverts commit e7aead8.

* Introduce first version of new resiliency approach.

* Deprecate existing ResilientEventHubTrigger.
Replicate functionality into EventHubSubscriber with EventHubsAzureStorageRepository to perform same - relies on new ExponentialBackoffRetry functionality.

* Introduce usage of PartitionContext.

* EventSubscriber testing.

* Quick backup before moving things around.

* Create new Event.EventHubs assembly.

* Updated all references.
Finish Events to EventHubs assembly ports.

* Remove SuppressMessage from model.
Rename Retries to Attempts/Attempt.

* Updated CDC.

* Use Cdc All vs Cdc Net - avoid potential message loss.
Split Cdc Execute and Complete into two SPs
Added new `Config.ETagJsonName`.
  • Loading branch information
chullybun authored Mar 9, 2021
1 parent 6827d84 commit d7eeadf
Show file tree
Hide file tree
Showing 214 changed files with 4,712 additions and 3,653 deletions.
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,6 @@ DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
Expand Down
16 changes: 15 additions & 1 deletion Beef.sln
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{2429F084-A
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Beef.Demo.Cdc", "samples\Demo\Beef.Demo.Cdc\Beef.Demo.Cdc.csproj", "{0915D101-40D4-434F-9539-12F509137220}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Beef.Data.Database.Cdc", "src\Beef.Data.Database.Cdc\Beef.Data.Database.Cdc.csproj", "{6B3BD95B-E789-4EBA-B295-99E7A48B9120}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Beef.Data.Database.Cdc", "src\Beef.Data.Database.Cdc\Beef.Data.Database.Cdc.csproj", "{6B3BD95B-E789-4EBA-B295-99E7A48B9120}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Beef.Demo.EventSend", "samples\Demo\Beef.Demo.EventSend\Beef.Demo.EventSend.csproj", "{FAD69D7A-1625-4C1E-973D-BADBE980865C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Beef.Events.EventHubs", "src\Beef.Events.EventHubs\Beef.Events.EventHubs.csproj", "{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -312,6 +316,14 @@ Global
{6B3BD95B-E789-4EBA-B295-99E7A48B9120}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B3BD95B-E789-4EBA-B295-99E7A48B9120}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B3BD95B-E789-4EBA-B295-99E7A48B9120}.Release|Any CPU.Build.0 = Release|Any CPU
{FAD69D7A-1625-4C1E-973D-BADBE980865C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FAD69D7A-1625-4C1E-973D-BADBE980865C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FAD69D7A-1625-4C1E-973D-BADBE980865C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FAD69D7A-1625-4C1E-973D-BADBE980865C}.Release|Any CPU.Build.0 = Release|Any CPU
{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -372,6 +384,8 @@ Global
{2429F084-A3F8-4F8A-88FF-E3BF5B210C13} = {FEA11C67-E7C7-49BC-99F5-5E5BF8F8674F}
{0915D101-40D4-434F-9539-12F509137220} = {FDB20FC0-9D38-4E22-87EF-2865877B0F84}
{6B3BD95B-E789-4EBA-B295-99E7A48B9120} = {7A307618-3ADF-49DF-A490-A37D4404158D}
{FAD69D7A-1625-4C1E-973D-BADBE980865C} = {104CA8C9-84F6-4B5C-9576-F25ADA255CF0}
{1FA5CBD1-A24C-40C7-A4F2-51602C4C0F51} = {27F12C82-BA12-4B58-BF75-A565C24CE895}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {42D71086-61E6-4D31-B4B8-BFC8CC471428}
Expand Down
3 changes: 2 additions & 1 deletion docs/Database-Cdc-Config-Xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ Provides the _database_ configuration.

Property | Description
-|-
`StoredProcedureName` | The `CDC` get outbox data stored procedure name. Defaults to `spExecute` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spExecuteTableNameCdcOutbox`.
`ExecuteStoredProcedureName` | The `CDC` _execute_ outbox stored procedure name. Defaults to `spExecute` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spExecuteTableNameCdcOutbox`.
`CompleteStoredProcedureName` | The `CDC` _complete_ outbox stored procedure name. Defaults to `spComplete` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spCompleteTableNameCdcOutbox`.
`CdcSchema` | The schema name for the generated `CDC`-related database artefacts. Defaults to `CodeGeneration.CdcSchema`.
`OutboxTableName` | The corresponding `CDC` Outbox table name. Defaults to `Name` + `Outbox` (literal).

Expand Down
3 changes: 2 additions & 1 deletion docs/Database-Cdc-Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ Provides the _database_ configuration.

Property | Description
-|-
`storedProcedureName` | The `CDC` get outbox data stored procedure name. Defaults to `spExecute` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spExecuteTableNameCdcOutbox`.
`executeStoredProcedureName` | The `CDC` _execute_ outbox stored procedure name. Defaults to `spExecute` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spExecuteTableNameCdcOutbox`.
`completeStoredProcedureName` | The `CDC` _complete_ outbox stored procedure name. Defaults to `spComplete` (literal) + `Name` + `CdcOutbox` (literal); e.g. `spCompleteTableNameCdcOutbox`.
`cdcSchema` | The schema name for the generated `CDC`-related database artefacts. Defaults to `CodeGeneration.CdcSchema`.
`outboxTableName` | The corresponding `CDC` Outbox table name. Defaults to `Name` + `Outbox` (literal).

Expand Down
1 change: 1 addition & 0 deletions docs/Database-CodeGeneration-Config-Xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Property | Description
**`EventActionFormat`** | The formatting for the Action when an Event is published. Valid options are: `None`, `UpperCase`, `PastTense`, `PastTenseUpperCase`. Defaults to `None` (no formatting required).
`JsonSerializer` | The JSON Serializer to use for JSON property attribution. Valid options are: `None`, `Newtonsoft`. Defaults to `Newtonsoft`. This can be overridden within the `Entity`(s).
`PluralizeCollectionProperties` | Indicates whether the .NET collection properties should be pluralized.
`HasBeefDbo` | Indicates whether the database has (contains) the standard _Beef_ `dbo` schema objects. Defaults to `true`.

<br/>

Expand Down
1 change: 1 addition & 0 deletions docs/Database-CodeGeneration-Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Property | Description
**`eventActionFormat`** | The formatting for the Action when an Event is published. Valid options are: `None`, `UpperCase`, `PastTense`, `PastTenseUpperCase`. Defaults to `None` (no formatting required).
`jsonSerializer` | The JSON Serializer to use for JSON property attribution. Valid options are: `None`, `Newtonsoft`. Defaults to `Newtonsoft`. This can be overridden within the `Entity`(s).
`pluralizeCollectionProperties` | Indicates whether the .NET collection properties should be pluralized.
`hasBeefDbo` | Indicates whether the database has (contains) the standard _Beef_ `dbo` schema objects. Defaults to `true`.

<br/>

Expand Down
1 change: 1 addition & 0 deletions docs/Entity-CodeGeneration-Config-Xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Provides the _Entity class_ configuration.
Property | Description
-|-
`JsonSerializer` | The JSON Serializer to use for JSON property attribution. Valid options are: `None`, `Newtonsoft`. Defaults to `Newtonsoft`. This can be overridden within the `Entity`(s).
`ETagJsonName` | The default JSON name for the `ETag` property. Valid options are: `etag`, `eTag`, `_etag`, `_eTag`, `ETag`. Defaults to `etag`. Note that the `JsonName` can be set individually per property where required.
`EntityUsing` | The namespace for the non Reference Data entities (adds as a c# <c>using</c> statement). Valid options are: `Common`, `Business`, `All`, `None`. Defaults to `Common` which will add `.Common.Entities`. Otherwise, `Business` to add `.Business.Entities`, `All` to add both, and `None` to exclude any.
`UsingNamespace1` | The additional Namespace using statement to the added to the generated `Entity` code. Typically used where referening a `Type` from a Namespace that is not generated by default.
`UsingNamespace2` | The additional Namespace using statement to the added to the generated `Entity` code. Typically used where referening a `Type` from a Namespace that is not generated by default.
Expand Down
1 change: 1 addition & 0 deletions docs/Entity-CodeGeneration-Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ Provides the _Entity class_ configuration.
Property | Description
-|-
`jsonSerializer` | The JSON Serializer to use for JSON property attribution. Valid options are: `None`, `Newtonsoft`. Defaults to `Newtonsoft`. This can be overridden within the `Entity`(s).
`etagJsonName` | The default JSON name for the `ETag` property. Valid options are: `etag`, `eTag`, `_etag`, `_eTag`, `ETag`. Defaults to `etag`. Note that the `JsonName` can be set individually per property where required.
`entityUsing` | The namespace for the non Reference Data entities (adds as a c# <c>using</c> statement). Valid options are: `Common`, `Business`, `All`, `None`. Defaults to `Common` which will add `.Common.Entities`. Otherwise, `Business` to add `.Business.Entities`, `All` to add both, and `None` to exclude any.
`usingNamespace1` | The additional Namespace using statement to the added to the generated `Entity` code. Typically used where referening a `Type` from a Namespace that is not generated by default.
`usingNamespace2` | The additional Namespace using statement to the added to the generated `Entity` code. Typically used where referening a `Type` from a Namespace that is not generated by default.
Expand Down
2 changes: 1 addition & 1 deletion docs/Entity-Entity-Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Property | Description
-|-
`inherits` | The base class that the entity inherits from. Defaults to `EntityBase` for a standard entity. For Reference Data it will default to `ReferenceDataBaseInt` or `ReferenceDataBaseGuid` depending on the corresponding `RefDataType` value. See `OmitEntityBase` if the desired outcome is to not inherit from any of the aforementioned base classes.
`implements` | The list of comma separated interfaces that are to be declared for the entity class.
`autoInferImplements` | Indicates whether to automatically infer the interface implements for the entity from the properties declared. Will attempt to infer the following: `IGuidIdentifier`, `IIntIdentifier`, `IStringIdentifier`, `IETag` and `IChangeLog`. Defaults to `true`.
`implementsAutoInfer` | Indicates whether to automatically infer the interface implements for the entity from the properties declared. Will attempt to infer the following: `IGuidIdentifier`, `IIntIdentifier`, `IStringIdentifier`, `IETag` and `IChangeLog`. Defaults to `true`.
`abstract` | Indicates whether the class should be defined as abstract.
`genericWithT` | Indicates whether the class should be defined as a generic with a single parameter `T`.
`namespace` | The entity namespace to be appended. Appended to the end of the standard structure as follows: `{Company}.{AppName}.Common.Entities.{Namespace}`.
Expand Down
3 changes: 2 additions & 1 deletion docs/Entity-Property-Config-Xml.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Property | Description
`StringTransform` | The `string` transformation to be performed on `Set` and `CleanUp`. Valid options are: `UseDefault`, `None`, `NullToEmpty`, `EmptyToNull`. Defaults to `UseDefault`. This is only applied where the `Type` is `string`.
`AutoCreate` | Indicates whether an instance of the `Type` is to be automatically created/instantiated when the property is first accessed (i.e. lazy instantiation).
`Default` | The C# code to default the value. Where the `Type` is `string` then the specified default value will need to be delimited. Any valid value assignment C# code can be used.
`PartitionKey` | Indicates whether the property is considered part of the Partition Key. This will implement `IPartitionKey` for the generated entity.
`SecondaryPropertyChanged` | The names of the secondary property(s), comma delimited, that are to be notified on a property change.
`BubblePropertyChanges` | Indicates whether the value should bubble up property changes versus only recording within the sub-entity itself. Note that the `IsEntity` property is also required to enable.
`ExcludeCleanup` | Indicates that `CleanUp` is not to be performed for the property within the `Entity.CleanUp` method.
Expand All @@ -76,7 +77,7 @@ Provides the _Serialization_ configuration.

Property | Description
-|-
`JsonName` | The JSON property name. Defaults to `ArgumentName` where not specified (i.e. camelCase).
`JsonName` | The JSON property name. Defaults to `ArgumentName` where not specified (i.e. camelCase); however, where the property is `ETag` it will default to the `Config.ETagJsonName`.
`JsonDataModelName` | The JSON property name for the corresponding data model (see `Entity.DataModel`). Defaults to `JsonName` where not specified.
`IgnoreSerialization` | Indicates whether the property is not to be serialized. All properties are serialized by default.
`EmitDefaultValue` | Indicates whether to emit the default value when serializing.
Expand Down
3 changes: 2 additions & 1 deletion docs/Entity-Property-Config.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ Property | Description
`stringTransform` | The `string` transformation to be performed on `Set` and `CleanUp`. Valid options are: `UseDefault`, `None`, `NullToEmpty`, `EmptyToNull`. Defaults to `UseDefault`. This is only applied where the `Type` is `string`.
`autoCreate` | Indicates whether an instance of the `Type` is to be automatically created/instantiated when the property is first accessed (i.e. lazy instantiation).
`default` | The C# code to default the value. Where the `Type` is `string` then the specified default value will need to be delimited. Any valid value assignment C# code can be used.
`partitionKey` | Indicates whether the property is considered part of the Partition Key. This will implement `IPartitionKey` for the generated entity.
`secondaryPropertyChanged` | The names of the secondary property(s), comma delimited, that are to be notified on a property change.
`bubblePropertyChanges` | Indicates whether the value should bubble up property changes versus only recording within the sub-entity itself. Note that the `IsEntity` property is also required to enable.
`excludeCleanup` | Indicates that `CleanUp` is not to be performed for the property within the `Entity.CleanUp` method.
Expand All @@ -93,7 +94,7 @@ Provides the _Serialization_ configuration.

Property | Description
-|-
`jsonName` | The JSON property name. Defaults to `ArgumentName` where not specified (i.e. camelCase).
`jsonName` | The JSON property name. Defaults to `ArgumentName` where not specified (i.e. camelCase); however, where the property is `ETag` it will default to the `Config.ETagJsonName`.
`jsonDataModelName` | The JSON property name for the corresponding data model (see `Entity.DataModel`). Defaults to `JsonName` where not specified.
`serializationIgnore` | Indicates whether the property is not to be serialized. All properties are serialized by default.
`serializationEmitDefault` | Indicates whether to emit the default value when serializing.
Expand Down
1 change: 1 addition & 0 deletions nuget-publish.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ $projectsToPublish = @(
"src\Beef.Data.OData",
"src\Beef.Data.Cosmos",
"src\Beef.Events",
"src\Beef.Events.EventHubs",
"src\Beef.Grpc",
"tools\Beef.CodeGen.Core",
"tools\Beef.Database.Core",
Expand Down
4 changes: 2 additions & 2 deletions samples/Cdr.Banking/Cdr.Banking.Api/Cdr.Banking.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<EmbeddedResource Include="webapisettings.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.5.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.7" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.6.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\Beef.AspNetCore.WebApi\Beef.AspNetCore.WebApi.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class AccountUType : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="AccountUType"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class AccountUTypeCollection : List<AccountUType> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public partial class BalancePurse
/// <summary>
/// Represents the <see cref="BalancePurse"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class BalancePurseCollection : List<BalancePurse> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class MaturityInstructions : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="MaturityInstructions"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class MaturityInstructionsCollection : List<MaturityInstructions> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class OpenStatus : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="OpenStatus"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class OpenStatusCollection : List<OpenStatus> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class ProductCategory : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="ProductCategory"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class ProductCategoryCollection : List<ProductCategory> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class TransactionStatus : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="TransactionStatus"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class TransactionStatusCollection : List<TransactionStatus> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public partial class TransactionType : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="TransactionType"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class TransactionTypeCollection : List<TransactionType> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1" />
</ItemGroup>

<ItemGroup>
Expand Down
7 changes: 4 additions & 3 deletions samples/Demo/Beef.Demo.Api/Beef.Demo.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,14 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Grpc.AspNetCore" Version="2.30.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.5.1" />
<PackageReference Include="Grpc.AspNetCore" Version="2.35.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.7" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.6.3" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\src\Beef.AspNetCore.WebApi\Beef.AspNetCore.WebApi.csproj" />
<ProjectReference Include="..\..\..\src\Beef.Events.EventHubs\Beef.Events.EventHubs.csproj" />
<ProjectReference Include="..\..\..\src\Beef.Events\Beef.Events.csproj" />
<ProjectReference Include="..\..\..\src\Beef.Grpc\Beef.Grpc.csproj" />
<ProjectReference Include="..\Beef.Demo.Business\Beef.Demo.Business.csproj" />
Expand Down
4 changes: 2 additions & 2 deletions samples/Demo/Beef.Demo.Api/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Beef.Demo.Business.Data;
using Beef.Demo.Business.DataSvc;
using Beef.Entities;
using Beef.Events;
using Beef.Events.EventHubs;
using Beef.Grpc;
using Beef.Validation;
using Microsoft.AspNetCore.Builder;
Expand Down Expand Up @@ -70,7 +70,7 @@ public void ConfigureServices(IServiceCollection services)
// Add event publishing.
var ehcs = _config.GetValue<string>("EventHubConnectionString");
if (!string.IsNullOrEmpty(ehcs))
services.AddBeefEventHubEventPublisher(ehcs);
services.AddBeefEventHubEventProducer(ehcs);
else
services.AddBeefNullEventPublisher();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ public partial class PowerSource : ReferenceDataBaseGuid
/// <summary>
/// Represents the <see cref="PowerSource"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class PowerSourceCollection : List<PowerSource> { }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ public partial class Robot : IGuidIdentifier, IETag, IChangeLog
/// <summary>
/// Represents the <see cref="Robot"/> collection.
/// </summary>
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Tightly coupled; OK.")]
public partial class RobotCollection : List<Robot> { }
}

Expand Down
Loading

0 comments on commit d7eeadf

Please sign in to comment.