62 lines
2.4 KiB
C#
62 lines
2.4 KiB
C#
using GeneralApi.IntegrationUtility.Common;
|
|
using log4net;
|
|
using log4net.Core;
|
|
using Microsoft.Practices.ServiceLocation;
|
|
using StructureMap;
|
|
using StructureMap.ServiceLocatorAdapter;
|
|
using Taloyhtio.GeneralApi.Common.DTO;
|
|
using Taloyhtio.GeneralApi.IntegrationUtility.Repositories;
|
|
using Taloyhtio.GeneralApi.IntegrationUtility.Repositories.Impl;
|
|
using Taloyhtio.GeneralApi.IntegrationUtility.Services;
|
|
using Taloyhtio.GeneralApi.IntegrationUtility.Services.Impl;
|
|
|
|
namespace GeneralApi.IntegrationUtility.Infrastructure
|
|
{
|
|
public class IoCConfiguration
|
|
{
|
|
public static void Configure()
|
|
{
|
|
ObjectFactory.Initialize(
|
|
x =>
|
|
{
|
|
x.ForRequestedType<ILog>()
|
|
.AsSingletons()
|
|
.TheDefault.Is.ConstructedBy(ctx => LogManager.GetLogger(Constants.Logger.LOGGER_NAME));
|
|
|
|
x.ForRequestedType<IFileRepository>()
|
|
.TheDefaultIsConcreteType<FileRepository>();
|
|
|
|
x.ForRequestedType<ISettingsProvider>()
|
|
.TheDefaultIsConcreteType<SettingsProvider>();
|
|
|
|
x.ForRequestedType<IFileParser<Condo>>()
|
|
.TheDefaultIsConcreteType<FileParser<Condo>>();
|
|
|
|
x.ForRequestedType<IFileParser<BoardMember>>()
|
|
.TheDefaultIsConcreteType<FileParser<BoardMember>>();
|
|
|
|
x.ForRequestedType<IFileProcessor<Condo>>()
|
|
.TheDefaultIsConcreteType<FileProcessor<Condo>>();
|
|
|
|
x.ForRequestedType<IFileProcessor<BoardMember>>()
|
|
.TheDefaultIsConcreteType<FileProcessor<BoardMember>>();
|
|
|
|
x.ForRequestedType<ISender<Condo>>()
|
|
.TheDefaultIsConcreteType<CondoSender>();
|
|
|
|
x.ForRequestedType<ISender<BoardMember>>()
|
|
.TheDefaultIsConcreteType<BoardMemberSender>();
|
|
|
|
x.ForRequestedType<IFileFilter>()
|
|
.TheDefaultIsConcreteType<FileFilter>();
|
|
|
|
x.ForRequestedType<IFileSorter>()
|
|
.TheDefaultIsConcreteType<FileSorter>();
|
|
});
|
|
|
|
var locator = new StructureMapServiceLocator(ObjectFactory.Container);
|
|
ServiceLocator.SetLocatorProvider(() => locator);
|
|
}
|
|
}
|
|
}
|