1
0
mirror of https://github.com/ncblakely/GiantsTools synced 2024-11-16 19:55:36 +01:00
GiantsTools/Giants.Services/Mapper/Mapper.cs
2020-08-16 02:03:10 -07:00

36 lines
1.1 KiB
C#

namespace Giants.Services
{
using AutoMapper;
using Giants.DataContract.V1;
public static class Mapper
{
public static IMapper Instance { get; private set; }
private static readonly object LockObject = new object();
public static IMapper GetMapper()
{
if (Instance == null)
{
lock(LockObject)
{
if (Instance == null)
{
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<DataContract.V1.ServerInfo, ServerInfo>();
cfg.CreateMap<ServerInfo, DataContract.V1.ServerInfo>();
cfg.CreateMap<ServerInfo, ServerInfoWithHostAddress>();
cfg.CreateMap<VersionInfo, DataContract.V1.VersionInfo>();
});
Instance = new AutoMapper.Mapper(config);
}
}
}
return Instance;
}
}
}