IUnityContainer _unityContainer;
public Form1()
{
InitializeComponent();
_unityContainer = new UnityContainer();
_unityContainer.RegisterType<ICustomerDataAccess, CustomerDataAccess>();
_unityContainer.RegisterType<ICustomerLogicLayer, CustomerLogic>();
}
_unityContainer.RegisterInstance<ICustomerDataAccess>(new CustomerDataAccess());
var logic = new LogicLayer.CustomerLogic(new DataLayer.CustomerDataAccess());
var logic = _unityContainer.Resolve<ICustomerLogicLayer>();
public CustomerLogic(ICustomerDataAccess dataLayer)
_dataLayer = dataLayer;
public class CustomerLogic: ICustomerLogicLayer
public CustomerLogic(IUnityContainer container)
_unityContainer = container;
public Customer Create(string customerName, string companyName)
var id = Guid.NewGuid().ToString("N").Substring(0, 5).ToUpper();
var dataLayer = _unityContainer.Resolve<ICustomerDataAccess>();
return dataLayer.Insert(id, customerName, companyName);
public List<Customer> GetAllCustomers()
return dataLayer.GetAllCustomer().OrderBy(cust => cust.ContactName).ToList();
[Dependency]
public IUnityContainer UnityContainer { get; set; }
public CustomerLogic()
var dataLayer = UnityContainer.Resolve<ICustomerDataAccess>();