Just another library to convert classes
Create an instance of the locator
var locator = new ServiceLocator();
Create your converter class
public class CustomerRequestCustomerConverter : AbstractConverter<CustomerRequest, Customer>
{
public override Customer Convert(CustomerRequest source)
{
return new Customer()
{
Name = source.Name,
Age = source.Age,
Category = "None"
};
}
}
Register your converter
serviceLocator.Register(typeof(IConverter<CustomerRequest, Customer>), new CustomerRequestCustomerConverter());
Create a instance of the IModelConverter interface
modelConverter = ModelConverter.Create(servicelocator);
Use the IModelConverter interface
var customerRequest = new CustomerRequest
{
Name = name,
Age = age
};
var customer = modelConverter.Convert<CustomerRequest, Customer>(customerRequest);
Note: The Jal.Locator.CastleWindsor library is needed.
Setup the IoC container
var container = new WindsorContainer();
Install the Jal.Locator.CastleWindsor library
container.Install(new ServiceLocatorInstaller());
Install the Jal.Converter library
container.Install(new ConverterInstaller());
Create your converter class
public class CustomerRequestCustomerConverter : AbstractConverter<CustomerRequest, Customer>
{
public override Customer Convert(CustomerRequest source)
{
return new Customer()
{
Name = source.Name,
Age = source.Age,
Category = "None"
};
}
}
Register your converter class in the IoC container
container.Register(Component.For<IConverter<CustomerRequest, Customer>>().ImplementedBy<CustomerRequestCustomerConverter>());
Resolve and use an instance of IModelConverter
var modelConverter = container.Resolve<IModelConverter>();
var customerRequest = new CustomerRequest
{
Name = name,
Age = age
};
var customer = modelConverter.Convert<CustomerRequest, Customer>(customerRequest);
Note: The Jal.Locator.LightInject library is needed.
Setup the LightInject container
var container = new ServiceContainer();
Install the Jal.Locator.LightInject library
container.RegisterFrom<ServiceLocatorCompositionRoot>();
Install the Jal.Converter library
container.RegisterConverter();
Create your converter class
public class CustomerRequestCustomerConverter : AbstractConverter<CustomerRequest, Customer>
{
public override Customer Convert(CustomerRequest source)
{
return new Customer()
{
Name = source.Name,
Age = source.Age,
Category = "None"
};
}
}
Register your converter class in the IoC container
container.Register<IConverter<CustomerRequest, Customer>, CustomerRequestCustomerConverter>();
Resolve and use an instance of IModelConverter
var modelConverter = container.GetInstance<IModelConverter>();
var customerRequest = new CustomerRequest
{
Name = name,
Age = age
};
var customer = modelConverter.Convert<CustomerRequest, Customer>(customerRequest);
Note: The Jal.Converter.AutoMapper library is needed.
Setup AutoMapper library instead of create your own converter
Mapper.Initialize(a =>
{
a.CreateMap<CustomerRequest, Customer>();
});