52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
using Kreta.Core.IoC;
|
|
using Kreta.Core.MessageBroker;
|
|
using Kreta.Core.MessageBroker.Azure.EventHub.Client.Configuration;
|
|
using Kreta.Core.MessageBroker.Contract.MobileNotification;
|
|
using Kreta.MessageBroker.Client.MobileNotification;
|
|
using Kreta.MessageBroker.ClientFactory;
|
|
using Kreta.MessageBroker.Configuration;
|
|
using Kreta.MessageBroker.Propetries;
|
|
using Kreta.MessageBroker.TraceLog;
|
|
|
|
namespace Kreta.MessageBroker
|
|
{
|
|
/// <summary>
|
|
/// Dependency resolver of current layer
|
|
/// </summary>
|
|
class DependencyContainer : Core.IoC.DependencyContainer
|
|
{
|
|
#region [Properties]
|
|
|
|
/// <summary>
|
|
/// Instance
|
|
/// </summary>
|
|
public static IDependencyResolver Instance
|
|
{
|
|
get { return GetResolver(MessageBrokerLayer.Instance); }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region [Private/Protected Methods]
|
|
|
|
/// <summary>
|
|
/// Initialize
|
|
/// </summary>
|
|
protected override void Initialize()
|
|
{
|
|
RegisterSingleton<IMessageBrokerConfiguration>(MessageBrokerConfigurationSection.Instance);
|
|
RegisterSingleton<IAzureEventHubClientsConfiguration>(MessageBrokerConfigurationSection.Instance);
|
|
|
|
RegisterSingleton<IMessageClientFactory<string>, ClientFactory.AzureEventHubMessageClientFactory>();
|
|
RegisterSingleton<IJsonMessageClientFactory<MobileNotificationMessage>, MobileNotificationJsonMessageClientFactory>();
|
|
|
|
RegisterSingleton<ITraceMessageClient, TraceMessageClient>();
|
|
RegisterSingleton<ISerilogTraceLogger, SerilogTraceLogger>();
|
|
|
|
RegisterSingleton<MobileNotificationMessageClient>();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|