Skip to content

Commit

Permalink
MarimerLLC#982 MarimerLLC#1012 Add extension methods for service and …
Browse files Browse the repository at this point in the history
…config integration in .NET Core
  • Loading branch information
rockfordlhotka committed Nov 27, 2018
1 parent a169e30 commit 4446709
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Source/Csla.NetStandard2.0/Csla.NetStandard2.0.csproj
Expand Up @@ -37,6 +37,8 @@
<Import Project="..\Csla.Shared\Csla.Shared.projitems" Label="Shared" />

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.1.1" />
<PackageReference Include="System.Data.Common" Version="4.3.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.4.3" />
<PackageReference Include="System.Runtime.Serialization.Primitives" Version="4.3.0" />
Expand All @@ -50,4 +52,10 @@
<PackageReference Include="System.Runtime.Serialization.Formatters" Version="4.3.0" />
</ItemGroup>

<ItemGroup>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.dependencyinjection.abstractions\2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
</ItemGroup>

</Project>
42 changes: 42 additions & 0 deletions Source/Csla.Shared/Configuration/ConfigurationExtensions.cs
@@ -0,0 +1,42 @@
#if NETSTANDARD2_0
//-----------------------------------------------------------------------
// <copyright file="ConfigurationExtensions.cs" company="Marimer LLC">
// Copyright (c) Marimer LLC. All rights reserved.
// Website: http://www.lhotka.net/cslanet/
// </copyright>
// <summary>Implement extension methods for .NET Core configuration</summary>
//-----------------------------------------------------------------------
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace Csla.Configuration
{
/// <summary>
/// Implement extension methods for .NET Core configuration
/// </summary>
public static class ConfigurationExtensions
{
/// <summary>
/// Add CSLA .NET services for use by the application
/// and enable CSLA .NET configuration.
/// </summary>
/// <param name="services">IServiceCollection object</param>
public static ICslaBuilder AddCsla(this IServiceCollection services)
{
services.AddScoped<IDataPortalService, DataPortalService>();
return null;
}

/// <summary>
/// Configure CSLA .NET settings from .NET Core configuration
/// subsystem.
/// </summary>
/// <param name="config">Configuration root object</param>
public static IConfigurationRoot ConfigureCsla(this IConfigurationRoot config)
{
config.Bind("csla", new CslaConfigurationOptions());
return config;
}
}
}
#endif
16 changes: 16 additions & 0 deletions Source/Csla.Shared/Configuration/ICslaBuilder.cs
@@ -0,0 +1,16 @@
//-----------------------------------------------------------------------
// <copyright file="ICslaBuilder.cs" company="Marimer LLC">
// Copyright (c) Marimer LLC. All rights reserved.
// Website: http://www.lhotka.net/cslanet/
// </copyright>
// <summary>Define CSLA .NET service builder</summary>
//-----------------------------------------------------------------------
namespace Csla.Configuration
{
/// <summary>
/// Define CSLA .NET service builder
/// </summary>
public interface ICslaBuilder
{
}
}
4 changes: 4 additions & 0 deletions Source/Csla.Shared/Csla.Shared.projitems
Expand Up @@ -19,6 +19,7 @@
<Compile Include="$(MSBuildThisFileDirectory)CommandBase.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ComponentModel\BrowsableAttribute.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ConfigurationErrorsException.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ConfigurationExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ConnectionStringSettingsCollection.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ConfigurationManager.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ConnectionStringSettings.cs" />
Expand All @@ -29,6 +30,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Configuration\CslaSecurityConfiguration.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\CslaSerializationConfiguration.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\CslaDataPortalConfigurationOptions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ICslaBuilder.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Configuration\ICslaConfiguration.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Core\AddedNewEventArgs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Core\AsyncFactoryDelegates.cs" />
Expand Down Expand Up @@ -131,6 +133,7 @@
<Compile Include="$(MSBuildThisFileDirectory)DataPortalResult.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DataPortalServerResourceAttribute.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DataPortalServerRoutingTagAttribute.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DataPortalService.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DataPortalT.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\ConnectionManager.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\ConnectionManagerT.cs" />
Expand Down Expand Up @@ -159,6 +162,7 @@
<Compile Include="$(MSBuildThisFileDirectory)IDataPortal.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IDataPortalResult.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Core\IdentityManager.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IDataPortalService.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IReadOnlyBase.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IReadOnlyListBase.cs" />
<Compile Include="$(MSBuildThisFileDirectory)LazySingleton.cs" />
Expand Down

0 comments on commit 4446709

Please sign in to comment.