36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using xCommons.Extensions;
|
|
using xIdentityModels.Interfaces;
|
|
using xIdentityModels.Providers;
|
|
|
|
namespace xIdentityModels.Extensions {
|
|
public static class DIExtensions {
|
|
/// <summary>
|
|
/// since registering IXUserRoleHelper need to add default instance if
|
|
/// user not provided we create this helper ...
|
|
/// </summary>
|
|
/// <param name="services"></param>
|
|
public static void AddXUserRoleHandler (
|
|
this IServiceCollection services,
|
|
IXUserRoleHelper helper = null
|
|
) {
|
|
//
|
|
// Check if Provider is null ...
|
|
if (helper.IsNull ()) {
|
|
helper = services.GetRegisteredService<IXUserRoleHelper> ();
|
|
}
|
|
|
|
//
|
|
// check if Provider registered or not ...
|
|
if (helper.IsNull ()) {
|
|
//
|
|
// Create Default provider ...
|
|
services.AddSingleton<IXUserRoleHelper> (new XDefaultUserRoleHelper ());
|
|
} else {
|
|
//
|
|
// Register Given Helper ...
|
|
services.AddSingleton<IXUserRoleHelper> (helper);
|
|
}
|
|
}
|
|
}
|
|
} |